php 單個文件上傳

<?php
/*
 * 文件上傳:
 *      一、如何控制上傳文件
 *      二、對上傳文件判斷(格式、大小)
 *      三、學習執行文件上傳操做方法
 *      $_FILES 數組元素
 *      $_FILES[filename][name]:存儲上傳的文件名
 *      $_FILES[filename][size]:存儲上傳的文件大小,單位爲字節
 *      $_FILES[filename][tmp_name]:存儲文件在臨時目錄中使用的文件名
 *      $_FILES[filename][type]:存儲上傳文件的MIME類型,類型由"/"分隔
 *      $_FILES[filename][error]:存儲與文件上傳相關的錯誤代碼
 *                          0:上傳成功
 *                          1:上傳文件的大小超出了PHP配置
 *                          2:表示上傳文件大小超出了表單中MAX_FILE_SIZE選項所指定的值
 *                          3:表示文件只被上傳了一部份
 *                          4:表示沒有上載任何文件
 * /
    if(!empty($_FILES['up_picture']['name'])){              //判斷上傳內容是否爲空
        if($_FILES['up_picture']['error']>0){                //判斷文件是否能夠上傳到服務器
            echo "上傳錯誤:";
            switch ($_FILES['up_picture']['error']){
                case 1:
                    echo "上傳文件大小超出配置文件規定值";
                    break;
                case 2:
                    echo "上傳文件大小超出表單中約定的值";
                    break;
                case 3:
                    echo "上傳文件不全";
                    break;
                case 4:
                    echo "沒有上傳文件";
                    break;
            }
        }else{
            list($maintype,$subtype)=explode("/", $_FILES['up_picture']['type']);//獲取上傳文件類型
            if($maintype!="p_w_picpath"||$subtype!="pjpeg"){   //判斷上傳文件格式是否正確
                echo "上傳文件格式不正確";
            }else{
                if(!is_dir("upfile")){                  //判斷指定目錄是否存在
                    mkdir("upfile");                    //建立目錄
                }
                $path = "upfile/".time().strtolower(strstr($_FILES['up_picture']['name'], "."));//動態建立生成文件路徑
                if(is_uploaded_file($_FILES['up_picture']['tmp_name'])){//判斷文件是否能夠上傳
                    if(move_uploaded_file($_FILES['up_picture']['tmp_name'], $path)){  //若是上傳成功
                        echo "文件:<span class='STYLE1'>".time().strtolower(strstr($_FILES['up_picture']['name'], "."))
                        ."</span> 上傳成功,大小爲:<span class='STYLE1'>".$_FILES['up_picture']['size']."</span>字節";
                    }else{
                        echo "上傳失敗";
                    }
                }else{
                    echo "上傳文件:<span class='STYLE1'>".$_FILES['up_picture']['name']."</span>不合法!";
                }
            }
        }
    }
?>
<form action="06.php" method="post" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
    <input type="file" name="up_picture">
    <input type="submit" value="上傳"/>
</form>
相關文章
相關標籤/搜索