您所在的位置:小祥子 » 编程 » PHP » 正文

php文件上传之单文件上传

时间:2015-07-23 编辑:潘家大少爷 来源:CnBlogs

为了简单一些,PHP文件跟form表单写在了一个文件里.

php单文件上传---->

 <!DOCTYPE html>
 <html>
 <head>
     <meta charset="UTF-8" />
 </head>
 <body>
 <form action="upload.php" method="post" enctype="multipart/form-data">
     请选择要上传的文件:<input type="file" name="myfile"/><br /><br />
     <input type="submit" value="submit" />
     <input type="hidden" name="MAX_FILE_SIZE" value="5982"/>
 </form>
 </body>
 </html>
 
 
 
 <?php
     if(!empty($_FILES)){
         ('content-type:text/html;charset=utf-8');
         $fileInfo=$_FILES['myfile'];
         ($_FILES);
         //如果上传出错则退出并打印错误信息
         if($fileInfo['error']>0){
             switch($fileInfo['error']){
                 case 1:
                     $msg_error='上传文件超过了php配置文件中UPLOAD_MAX_FILESIZE选项的值';
                     break;
                 case 2:
                     $msg_error='超过了表单MAX_FILE_SIZE限制的大小';
                     break;
                 case 3:
                     $msg_error='文件部分上传';
                     break;
                 case 4:
                     $msg_error='没有文件上传';
                     break;
                 case 6:
                     $msg_error='没有找到临时目录';
                     break;
                 case 7:
                 case 8:
                     $msg_error='系统错误';
                     break;
             }
             exit($msg_error);
         }
         $filename=$fileInfo['name'];
         //获取文件的扩展名
         $ext=(($filename,($filename,'.')+1));
         //定义可允许上传的扩展名
         $allowExt=array('txt','html','png','gif','jpeg');
         //检测上传文件的类型
         if(!($ext,$allowExt)){
             exit('上传文件类型错误');
         }
 
 
        //检测文件的大小
         $maxSize=2097152;
         if($fileInfo['size']>$maxSize){
             exit('上传文件过大');
         }
 
         //检测是否为HTTP POST方式上传上来的
         if(!($fileInfo['tmp_name'])){
             exit('文件不是通过HTTP POST方式提交上来的');
         }
 
         //确保文件名字唯一,防止同名文件被覆盖
         $uniqName=(((true),true)).'.'.$ext;
 
         //定义保存在哪个文件夹下,如果没有该文件夹则创建
         $path='uploads';
         if(!($path)){
             ($path,0777,true);
             ($path,0777);
         }
         $destination=$path.'/'.$uniqName;
 
         //移动文件至要保存的目录
         if(! @($fileInfo['tmp_name'],$destination)){
             exit('文件上传失败');
         }
 
         echo '上传成功';
 
     }
 ?>
关键词:文件 上传