一个简单的PHP文件上传方法

作者 :
免费
  • 正文
  • 这是我自己写的一个文件上传函数,主要是做一些企业类网站的时候经常会用到上传图片,呵,我就写了这么一个函数,希望各位高手提出您们的宝贵意见!

    /************文件上传函数******************/   
    
    	
    /*   
    
    	
    *$formname                       Html上传表单名称   
    
    	
    *$allowtype_array                允许上传的文件类型数组   
    
    	
    *$allow_size                     允许上传的文件最大大小,默认是1MB   
    
    	
    *$isRename                       是否需要重命名被上传的文件   
    
    	
    */   
    
    	
    function upload_file($formname,$path,$allowtype_array,$allow_size='1048576',$isRename=true){   
    
    	
     if($_FILES[$formname]['tmp_name']=='' || $_FILES[$formname]['name']=='' || $_FILES[$formname]['size']==0){   
    
    	
      return false;   
    
    	
     }   
    
    	
     if(!file_exists('../uploadfiles/'.$path)){   
    
    	
      if(!mkdir('../uploadfiles/'.$path,0777)){   
    
    	
       WriteErrMsg('创建上传文件保存文件目录失败,请联系管理员检查目录权限');   
    
    	
      }   
    
    	
     }   
    
    	
     if($_FILES[$formname]['size']>$allow_size){   
    
    	
      WriteErrMsg('上传文件过大,请将上传文件限制在'.number_format($allow_size/1048576,'2','.','').'MB以内');   
    
    	
     }   
    
    	
     $file_name_array=explode('.',$_FILES[$formname]['name']);   
    
    	
     $file_type=strtolower($file_name_array[count($file_name_array)-1]);   
    
    	
     if(!in_array($file_type,$allowtype_array)){   
    
    	
      WriteErrMsg('上传文件类型错误,仅允许上传后缀名为 .'.implode(' .',$allowtype_array).'的文件');   
    
    	
     }   
    
    	
     $save_name=$isRename?randomname().'.'.$file_type:$_FILES[$formname]['name'];   
    
    	
     if(!move_uploaded_file($_FILES[$formname]['tmp_name'],'../uploadfiles/'.$path.'/'.$save_name)){   
    
    	
      WriteErrMsg('文件上传过程中发生错误,请重新上传');   
    
    	
     }   
    
    	
     switch($_FILES[$formname]['error']){   
    
    	
      case 0:   
    
    	
       return $save_name;   
    
    	
      break;   
    
    	
      case 1:   
    
    	
       WriteErrMsg('上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值');   
    
    	
      break;   
    
    	
      case 2:   
    
    	
       WriteErrMsg('上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值');   
    
    	
      break;   
    
    	
      case 3:   
    
    	
       WriteErrMsg('文件只有部分被上传');   
    
    	
      break;   
    
    	
      case 4:   
    
    	
       WriteErrMsg('没有文件被上传');   
    
    	
      break;   
    
    	
      default:   
    
    	
       WriteErrMsg('能出现这条错误提示,日子也该混到头了');   
    
    	
      break;   
    
    	
     }   
    
    	
    } 
    
    

     

    END
    如本资源侵犯了您的权益,请联系投诉邮箱admin@wmphp.com进行举报!我们将在收到邮件的1个小时内处理完毕。 本站仅为平台,发布的资源均为用户投稿或转载!所有资源仅供参考学习使用,请在下载后的24小时内删除,禁止商用! Wmphp.com(完美源码)助力正版,如您有自己的原创产品,可以联系客服投稿,代理出售! Wmphp.com(完美源码)客服QQ:136882447 Wmphp.com(完美源码)商务电话(仅对企业客户/个人用户):15120086569 (微信同步) 请注意:本站不提供任何免费的技术咨询服务,为了节约时间,下载前 请确认自己会技术
    完美源码 » 一个简单的PHP文件上传方法
    3487+

    本站勉强运行

    3665+

    用户总数

    690+

    资源总数

    0+

    今日更新

    2024-4-8

    最后更新时间