PHP - 条件语句


PHP - conditional statements

if(move_uploaded_file($_FILES[$thumbnail_fieldname]['tmp_name'], $thumbnail_filename) &&
    //move desktop files
    move_uploaded_file($_FILES[$desktop_fieldname_1280x800]['tmp_name'], $desktop_filename_1280x800) &&
    move_uploaded_file($_FILES[$desktop_fieldname_1366x768]['tmp_name'], $desktop_filename_1366x768) &&
    move_uploaded_file($_FILES[$desktop_fieldname_1920x1080]['tmp_name'], $desktop_filename_1920x1080)){
    echo "<p>We can move all files.</p>";}

在我上面的代码中,当其中一个条件失败时,文本不会打印,这是因为 &&这意味着一切都需要为真,我在这里想要实现的是,当选择上传任何文件时,它应该通过条件并打印文本,如果任何一个或两个文件未被选中,它可以跳过并仍然打印文本由于存在一个文件,并且如果未选择任何文件,则条件应为 false。它不能用||既然如此,如果一个人是真的,一切都是真的,那么可以使用什么组合来做到这一点呢?

例如拇指文件已移动 = TURE

桌面文件 1280x800 移动 = TURE

桌面文件 1366x768 未移动 = 假//从这里它应该测试下一个条件

桌面文件 1920x1080 移动 = 真

/

/并且应该打印输出。

这个呢:

// trys to upload the thumbnail
if(move_uploaded_file($_FILES[$thumbnail_fieldname]['tmp_name'], $thumbnail_filename)
  // and tries to upload all the other images and store the return values.  
  // if one or more of them succeeded print the message
  && in_array(TRUE, array(
    move_uploaded_file($_FILES[$desktop_fieldname_1280x800]['tmp_name'], $desktop_filename_1280x800),
    move_uploaded_file($_FILES[$desktop_fieldname_1366x768]['tmp_name'], $desktop_filename_1366x768),
    move_uploaded_file($_FILES[$desktop_fieldname_1920x1080]['tmp_name'],$desktop_filename_1920x1080)
))) {
    echo 'upload done';
} else {
    echo 'no upload happened';
}