我正在为学校制作instagram克隆文件,并且当前正在使用“更新个人资料”功能,每当我尝试更新个人资料图片时,它都像一个超级按钮,但是只要我不更新个人资料图片,但我只是更新描述或用户名时出现以下错误。
“ getimagesize():文件名不能为空”
当我不上传新的个人资料照片时,捕获此错误的最佳方法是什么?
我尝试了一种“尝试捕获”方法,但是它似乎不起作用。 (有可能我以错误的方式实现了
if(isset($_FILES["file"])){
if(getimagesize($_FILES["file"]["tmp_name"]) !== false){
$target_dir = "uploads/";
$extention = explode(".", $_FILES["file"]["name"]);
$i = count($extention) - 1;
$target_file = $target_dir . basename($_FILES["file"]["tmp_name"] . "." . $extention[$i]);
if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
// File has been moved to Uploads/[temp_name].[extention]
$user->setImage($target_file);
$a["image"] = $target_file;
} else {
// The file did not move to the destonation folder
}
}
}
当我不上传新图片而是尝试更新用户名或描述时,我希望这不会将错误返回给我。
答案 0 :(得分:0)
您可以检查错误索引是否为零(UPLOAD_ERR_OK
),如果错误不为零导致没有文件上传,则UPLOAD_ERR_NO_FILE
在那里
如果您只是想检查上传是否顺利,可以写:
if ($_FILES['file']['error'] == UPLOAD_ERR_OK) {
// file is good (and not an error)
}
如果要检查文件是否未上传
if ($_FILES['file']['error'] == UPLOAD_ERR_NO_FILE) {
// file is empty, no upload
}
检查PHP Reference,了解更多信息!