[英]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。 ||无法完成 因为如果这是真的,那么一切都是真的,那么可以使用什么组合来做到这一点呢?
例如thumbail文件已移动= ture
桌面文件1280x800已移动= ture
桌面文件1366x768 未移动 = false //从此处应测试下一个条件
桌面文件1920x1080已移动= true
//并且应该输出输出。
那这个呢:
// 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';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.