我正在尝试将图片上传到php脚本。我有一个非持久性的bug,导致上传的一些图像的文件大小为0.我试图将_FILES数组打印到我的日志文件中,它显示错误代码为0,应该没问题
这些行:
foreach($_FILES['image_file'] as $key => $val){
error_log(date('j/n/o H:i:s')." ". $key ." => ".$val. "\n", 3,$log_path);
}
在日志文件中给我这些:
从日志文件中可以看出,这个脚本在Windows机器上运行,我的知识有限。我已经将post_max_size更改为10M,并将php_ini中的upload_max_size更改为10M。
我对这个问题感到惊讶。当我从自己的设备上测试时,它工作正常,但出于某种原因,当我的测试人员试用它时,它会失败。
答案 0 :(得分:0)
编辑 - 试试这个:
我认为您可能需要将$ _FILES ['file']更改为$ _FILES ['image_file']才能使用您的设置。为了便于阅读,我把它留在了下面......
if ($_FILES['file']['error'] === UPLOAD_ERR_OK && $_FILES['file']['size'] > 0){
... upload was successful ...
}elseif($_FILES['file']['error'] === UPLOAD_ERR_OK && $_FILES['file']['size'] == 0){
die("Upload failed, random upload issue... please try again);
// change this error to something more useful... (leave this error in for testing)
}else {
die("Upload failed with error code " . $_FILES['file']['error']);
}
这不能解决随机文件大小问题,但它会允许您的代码/进程继续。将其视为上传失败,并告诉用户再试一次......
发布的此Marc B中使用过的代码