Php 如果没有上载文件,则停止文件\u exist调用错误
当用户没有选择将文件作为表单的一部分上载时,是否有一种简单的方法阻止文件返回true 我有以下代码Php 如果没有上载文件,则停止文件\u exist调用错误,php,Php,当用户没有选择将文件作为表单的一部分上载时,是否有一种简单的方法阻止文件返回true 我有以下代码 if (isset($_FILES["tipimage"]) && $_FILES["tipimage"]["error"] == 0) { $allowed = array("jpg" => "image/jpg", "jpeg" => "image/jpeg", "gif" => "image/gif", "png" => "image/png"
if (isset($_FILES["tipimage"]) && $_FILES["tipimage"]["error"] == 0) {
$allowed = array("jpg" => "image/jpg", "jpeg" => "image/jpeg", "gif" => "image/gif", "png" => "image/png");
$filename = $_FILES["tipimage"]["name"];
$filetype = $_FILES["tipimage"]["type"];
$targetDir = "uploads/";
$targetFilePath = $targetDir . $filename;
// Verify file extension
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if(!array_key_exists($ext, $allowed)) {
$error .= "Invalid File Format<br>";
}
}
if (file_exists("uploads/" . $_FILES["tipimage"]["name"])) {
$error .= "The File " . $_FILES["tipimage"]["name"] . " already exists.<br>";
} else if (move_uploaded_file($_FILES["tipimage"]["tmp_name"], $targetFilePath)) {
$successmsg .= "<div class='alert alert-success'>Image - " . $filename . " - Uploaded Successfully!</div>";
}
if(isset($\u文件[“tipimage”])&&&$\u文件[“tipimage”][“error”]==0){
$allowed=array(“jpg”=>“image/jpg”、“jpeg”=>“image/jpeg”、“gif”=>“image/gif”、“png”=>“image/png”);
$filename=$_文件[“tipimage”][“name”];
$filetype=$_文件[“tipimage”][“type”];
$targetDir=“上传/”;
$targetFilePath=$targetDir.$filename;
//验证文件扩展名
$ext=pathinfo($filename,pathinfo_扩展名);
如果(!array_key_存在($ext,$allowed)){
$error.=“无效的文件格式
”;
}
}
如果(文件_存在(“上载/”$_文件[“tipimage”][“name”])){
$error.=“文件”$\u FILES[“tipimage”][“name”]”已存在。
“;
}else if(移动上传的文件($文件[“tipimage”][“tmp\U名称”],$targetFilePath)){
$successsg.=“图像-”$filename.-“已成功上载!”;
}
我不确定您的else
情况,因为您使用了if
和else if
。如果可能的话,我会选择多个来避免错误
// Check if the file exists
if(file_exists("uploads/" . $_FILES["tipimage"]["name"])){
$error .= "The File " . $_FILES["tipimage"]["name"] . " already exists.<br>";
}
// Upload file
if(!move_uploaded_file($_FILES["tipimage"]["tmp_name"], 'uploads/' . $_FILES["file_upload"]["name"])){
die('Error uploading file - check destination is writeable.');
}
$successmsg .= "<div class='alert alert-success'>Image - " . $filename . " - Uploaded Successfully!</div>";
// Check for errors
if($_FILES["file_upload"]["error"] > 0){
die('An error ocurred when uploading.');
}
//检查文件是否存在
如果(文件_存在(“上载/”$_文件[“tipimage”][“name”])){
$error.=“文件”$\u FILES[“tipimage”][“name”]”已存在。
“;
}
//上传文件
如果(!move_upload_file($_FILES[“tipimage”][“tmp_name”],“uploads/”。$_FILES[“file_upload”][“name”])){
die('上传文件时出错-检查目标是否可写');
}
$successsg.=“图像-”$文件名。“-已成功上载!”;
//检查错误
如果($_文件[“文件上传”][“错误”]>0){
die('上传时出错');
}
是!将测试放在一个合理的位置,就像在前面的IF中那样,检查他们是否真的上传了文件。一些合理的代码缩进将是一个好主意。它帮助我们阅读代码,更重要的是,它将帮助您为自己的利益调试代码。您可能会被要求在几周/几个月内修改此代码,最后您会感谢我。请将最后一条if语句包装在第一条if语句中,说明检查是否有图像的语句。如果没有图像,不要检查文件是否存在!