Php 如果用户没有上传默认图像';不要上传任何

Php 如果用户没有上传默认图像';不要上传任何,php,function,file-upload,Php,Function,File Upload,我有一段来自upload.php的代码 $uploaddir = '../photo/'; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { //... } 如何添加一个函数,如果用户未上传图像,则会上传默认图像?您应该首先检查$\u FILES['userfile

我有一段来自upload.php的代码

$uploaddir = '../photo/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
{
    //...
}

如何添加一个函数,如果用户未上传图像,则会上传默认图像?

您应该首先检查
$\u FILES['userfile']['error']==upload\u errr\u OK

如果不是
上传\u ERR\u OK
,则说明出现了问题。
可在此处找到错误列表:

例如:

$uploaddir = '../photo/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if ($_FILES['userfile']['error'] === UPLOAD_ERR_OK) {
  if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    /** do stuff **/
  }
} else {
  echo "An error occurred with your upload.<br>";

  switch($_FILES['userfile']['error']) { 
    case UPLOAD_ERR_INI_SIZE: 
      echo "The uploaded file exceeds the upload_max_filesize directive in php.ini"; 
      break; 
    case UPLOAD_ERR_FORM_SIZE: 
      echo "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form"; 
      break; 
    case UPLOAD_ERR_PARTIAL: 
      echo "The uploaded file was only partially uploaded"; 
      break; 
    case UPLOAD_ERR_NO_FILE: 
      echo "No file was uploaded"; 
      break; 
    case UPLOAD_ERR_NO_TMP_DIR: 
      echo "Missing a temporary folder"; 
      break; 
    case UPLOAD_ERR_CANT_WRITE: 
      echo "Failed to write file to disk"; 
      break; 
    case UPLOAD_ERR_EXTENSION: 
      echo "File upload stopped by extension"; 
      break; 
    default: 
      $message = "Unknown upload error"; 
      break; 
  }
}
$uploaddir='../photo/';
$uploadfile=$uploaddir。基本名称($_文件['userfile']['name']);
如果($\u FILES['userfile']['error']==上传\u ERR\u确定){
如果(移动上传的文件($上传文件['userfile']['tmp\u name'],$uploadfile)){
/**做事**/
}
}否则{
echo“上传时出错。
”; 开关($\u文件['userfile']['error']){ 案例上传\错误\初始大小: echo“上传的文件超过了php.ini中的upload\u max\u filesize指令”; 打破 案例上传错误表单大小: echo“上传的文件超过了HTML表单中指定的最大文件大小指令”; 打破 案例上传错误部分: echo“上传的文件仅部分上传”; 打破 案例上载\u错误\u否\u文件: echo“未上载任何文件”; 打破 案例上传\u错误\u否\u TMP\u目录: 回显“缺少临时文件夹”; 打破 案例上传\错误\无法写入: echo“无法将文件写入磁盘”; 打破 案例上传错误扩展名: echo“文件上传被扩展名停止”; 打破 违约: $message=“未知上载错误”; 打破 } }
这不是我的答案。这是他的评论:


为什么不使用默认图像URL,这样就不会将其上载到每个用户。所以,如果用户有一个图像,则显示该图像。如果他不使用默认的

只存储用户明确选择上载的图像更有效。如果用户没有上传它,那么当您必须显示它时,请执行以下操作:

PHP

HTML

“alt=”“/>
此外,它还可以节省磁盘空间!

您还可以使用: (对于php,当然是在echo“”下)


为什么不使用一个默认的图像URL,这样你就不会把它上传给每个用户。所以如果用户有一个图像,就显示它。如果他不使用默认的图像。对吧…?
if(upload_successful()){move_uploaded_file()}否则{copy($default_image);}
是的,默认情况下可以把这个$uploadfile=“../photo/nophoto.png"; 若图片并没有从用户端上传,那个么它只会给出ar url,类似于你们的东西,好了,这项工作完成了,谢谢大家。
//assumimg you stored the image with user_id as name
$path_to_image = "img/" . $user_id . ".jpg";
$image = (file_exists($path_to_image)) ? $path_to_image : $default_image_path;
<img src="<?=$image?>" alt="" />
// Replace source with other image in case user didn't upload any photo
$('img').error(function(){
        $(this).attr('src', 'missing.png');
});

// Or, hide the 'broken image' 
$("img").error(function(){
        $(this).hide();
});