PHP開發檔案上傳教學之處理上傳的檔案(二)

首先,我們來看上傳錯誤的編號代表的什麼意思

然後我們去測試

 0-沒有錯誤發生,檔案上傳成功。  預設為 0 ,即可上傳檔案

 1-上傳的檔案超過了 php.ini 中 upload_max_filesize 選項限制的值。 
 2-上傳檔案的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。 
 3-檔案只有部分上傳

 4-沒有檔案上傳。

 6-沒有找到暫存目錄

 7-系統錯誤

下面我們寫一下處理錯誤的語句

<?php
    header("Content-type: text/html; charset=utf-8"); 
    $fileinfo = $_FILES['myfile'];
    $filename = $fileinfo['name'];//名称
    $type = $fileinfo['type'];//类型
    $tmp_name = $fileinfo['tmp_name'];//路径
    $size = $fileinfo['size'];//图片尺寸
    $error= $fileinfo['error'];

    //判断错误号,等于0的时候上传成功
    if($error == 0){
        if(copy($tmp_name,"uploads/".$filename)){
            echo "文件".$filename."上传成功";
        }else{
            echo "文件".$filename."上传失败";
        }

    }else{
        switch ($error){
            case 1: echo "上传文件超过了php 配置文件中 upload_max_filesize 的值";break;
            case 2: echo "上传文件超过max_file_size 大小";break;
            case 3: echo "文件部分被上传";break;
            case 4: echo "没有选择上传文件";break;
            case 6: echo "没有找到临时目录";break;
            case 7: 
            case 8: echo "系统错误";break;
        }
    }

?>

先取得表單提交的數據,就是圖片的信息

上節我們輸出了上傳1.jpg 的信息,把信息存儲起來,對其中的error進行判斷,只有是0的時候,圖片是上傳成功的

繼續學習
||
<?php header("Content-type: text/html; charset=utf-8"); $fileinfo = $_FILES['myfile']; $filename = $fileinfo['name'];//名称 $type = $fileinfo['type'];//类型 $tmp_name = $fileinfo['tmp_name'];//路径 $size = $fileinfo['size'];//图片尺寸 $error= $fileinfo['error']; //判断错误号,等于0的时候上传成功 if($error == 0){ if(copy($tmp_name,"uploads/".$filename)){ echo "文件".$filename."上传成功"; }else{ echo "文件".$filename."上传失败"; } }else{ switch ($error){ case 1: echo "上传文件超过了php 配置文件中 upload_max_filesize 的值";break; case 2: echo "上传文件超过max_file_size 大小";break; case 3: echo "文件部分被上传";break; case 4: echo "没有选择上传文件";break; case 6: echo "没有找到临时目录";break; case 7: case 8: echo "系统错误";break; } } ?>