>我有一个简单的注册表单,用户可以在其中上传个人资料图片,如果用户不这样做,它应该采用默认的图片名称,称为 person-icon.png。
当我注册用户并上传图片时,它可以工作,但是如果我将其留空,请不要执行任何操作,并且该列将插入数据库空
if(isset($_FILES['image'])){
$img = $_FILES['image']['name'];
}
else if(empty($_FILES['image']['name'])){
$img = 'person-icon.png';
}
我已经尝试了以下选项:
选项 1:
if (empty($_FILES['image'])){
$img = 'person-icon.png';
}
else{
$img = $_FILES['image']['name'];
}
选项 2:
if($_FILES["image"]["error"] == 4)
选项 3:
if($_FILES["image"]["name"] == "")
你可以
检查$_FILE['图像']['名称']不等于"这项工作;请参阅代码:
<!DOCTYPE html>
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="image" id="image">
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
<?php
//var_dump($_FILES);
$default_pic =" pic.png";
if (isset($_FILES['image'])){
if($_FILES['image']['name'] != ""){
echo "has pic";
}
else{
$_FILES['image']['name'] = $default_pic;
echo "has no pic";
}
}
?>
为了检查文件是否已上传,您必须查找 tmp_name
,因为这是包含服务器上文件内容的实际副本的内容。我会做这样的事情:
$file = $_FILES['file']['tmp_name'];
if (!file_exists($file)){
//no image
}
else{
//image
}
您还可以检查 $_FILES,只要您不以该形式上传其他文件:
if(empty($_FILES)){
//no image
}
else{
//image
}
有关更多信息,请查看文件上传的官方手册。
我希望这对你有所帮助:)