[PHP] php简单的封装图片上传 →→→→→进入此内容的聊天室

来自 , 2020-10-01, 写在 PHP, 查看 106 次.
URL http://www.code666.cn/view/0e7e05fa
  1.  //封装图片上传
  2.     function upload($file,$allow = array('gif','png','jpg','jpeg','bmp')){
  3.             //定义错误字符串
  4.             $err_info = '';
  5.             // 判断不是数组,直接退出
  6.             if(!is_array($file)){
  7.                     return array(false,"当前上传的文件信息不正确!");
  8.                     exit;
  9.             }
  10.             switch($file['error']){
  11.                     case 1:
  12.                         $err_info = "上传的文件超过了服务器允许的大小:".ini_get('upload_max_filesize');
  13.                         break;
  14.                     case 2:
  15.                         $err_info = "上伟文件超过了浏览器允许的大小:".ini_get('MAX_FILE_SIZE');
  16.                         break;
  17.                     case 3:
  18.                         $err_info = "文件只上传了一部分,请重新上传";
  19.                         break;
  20.                     case 4:
  21.                         $err_info = "文件没有上传成功,请重新上传";
  22.                         break;
  23.                     case 6:
  24.                         $err_info = "没有找到临时文件夹";
  25.                         break;
  26.                     case 7:
  27.                         $err_info = "文件写入失败";  
  28.                         break;              
  29.             }
  30.             //判断err_info
  31.             if($err_info){
  32.                     //如果存在错误
  33.                     return array(false,$err_info);
  34.             }
  35.             // 判断文件类型
  36.             //取得文件类型
  37.             $extension = getExtension($file['name']);
  38.             //echo $extension;
  39.             //判断文件的后缀名是否存
  40.             if(!$extension){
  41.                     return array(false,'没有找到文件的后缀名!');
  42.             }
  43.             //当前文件是否允许上传
  44.             if(!in_array($extension,$allow)){
  45.                     return array(false,'请选择正确的文件类型,正确的类型有:'.explode(',',$allow));
  46.             }
  47.            
  48.             //解决文件名乱码问题,使用重命名的
  49.             $filename = getRandomFileName().'.'.$extension;
  50.             echo $filename;
  51.            
  52.             //移动文件,从临时文件移动,目标文件
  53.             if(!move_uploaded_file($file['tmp_name'],upload.$filename)){
  54.                     //文件移动失败 把错误信息写入日志文件中
  55.                     return array(false,'文件上传失败!');
  56.             }
  57.             //上传成功
  58.             return upload.$filename;
  59.     }
  60.    
  61.         //文件上传 取得后缀名
  62.         function getExtension($file_name){
  63.                     //从点 开始截取后面的字符串
  64.                     // return strchr($filename,'.');
  65.                     //判断有没有后缀名
  66.                     if(strrpos($file_name,'.')){
  67.                     //从多少位开始截取这些数据,strrpos(最后一次出现的数字位置),然后截图点后面的数据,就是我们想要得到的后缀名
  68.                         return substr($file_name,strrpos($file_name,'.')+1);
  69.                 }else{
  70.                         return false;
  71.                 }
  72.             }
  73.            
  74.             //文件上传重命名函数
  75.             function getRandomFileName(){
  76.                     //获取时间+字符串
  77.                     $fileName = '';
  78.                     $fileName .= date('YmdHis');
  79.                     $str = 'abcdefghijklmnopqrstuvwxyz';
  80.                     for($i=0;$i<6;$i++){
  81.                             $fileName .= $str[mt_rand(0,25)];
  82.                     }
  83.                     return $fileName;
  84.             }
  85.  

回复 "php简单的封装图片上传"

这儿你可以回复上面这条便签

captcha