Php 如果未选择任何文件,则返回false,但不工作
这是我的上传类:Php 如果未选择任何文件,则返回false,但不工作,php,Php,这是我的上传类: class UploadModel { public static function upload() { if(empty($_FILES['image_upload']) || !isset($_FILES['image_upload'])){ // Session::add('feedback_negative', Text::get('FEEDBACK_IMAGE_UPLOAD_ERROR'));
class UploadModel
{
public static function upload()
{
if(empty($_FILES['image_upload']) || !isset($_FILES['image_upload'])){
// Session::add('feedback_negative', Text::get('FEEDBACK_IMAGE_UPLOAD_ERROR'));
return false;
}
$image = new Image($_FILES['image_upload']);
if($image){
$upload = $image->upload();
if($upload){
//Everything is OK!
Session::add('feedback_positive', Text::get('FEEDBACK_IMAGE_UPLOAD_SUCCESS'));
return true;
}else{
//Session::add('feedback_negative', Text::get('FEEDBACK_IMAGE_UPLOAD_ERROR'));
// For security reasons maybe the above is the way to go? (no super obvious error message)
Session::add('feedback_negative', $image["error"]);
return false;
}
}
}
}
但出于某种原因,第一个if语句不起作用(无论如何我都相信)
我认为下面的if语句将“停止”类的执行,返回false
if(empty($_FILES['image_upload']) || !isset($_FILES['image_upload'])){
// Session::add('feedback_negative', Text::get('FEEDBACK_IMAGE_UPLOAD_ERROR'));
return false;
}
但它确实发出了声音。我收到以下错误消息
警告:getimagesize():文件名在
警告:getimagesize():文件名在
警告:无法修改标题信息-标题已由发送
(输出开始于
在一个虚拟的ubuntu框中,应用程序继续运行,至少给出了来自会话::add('feedback_negative',$image[“error”]);
(找不到图像)的错误
但是在我的dev-MAMP服务器(mac操作系统)上,应用程序会在前面的错误消息中停止
同样,我认为这是第一个if语句。
$\u即使未选择任何文件,也始终填充文件
检查大小以查看是否确实存在文件:
if ($_FILES['image_upload']['size'] > 0) {
您还可以检查文件名:
if (is_uploaded_file($_FILES['image_upload']['tmp_name'])) {
如果你做一个var\u转储($\u文件);
你会更好地理解你收到的数据。坦克!我照你说的做了,看了一下_文件的数组结构。我和操作员一起去了。啊,是的,你正在检查文件是否没有上传。那很好,尽管==0
可能更明智(绝对不能小于0)