PHP Upload File 上傳檔案

PHP 上傳檔案的設定前提: 在 php.ini 檔案中, 搜尋 "upload", 設定 file_uploads=on


注意事項 1: <form action="xxxxx" method="post" enctype="multipart/form-data">

注意事項 2: 上傳單一檔案, 則 <input name="inputName" type="file" />

注意事項 3: 上傳多個檔案, 則 <input name="inputName[]" type="file" />

接收變數:
$_FILES["inputName"]["name"]: 取得檔案名稱
$_FILES["inputName"]["tmp_name"]: 取得暫存檔案名稱
$_FILES["inputName"]["size"]: 取得檔案大小
$_FILES["inputName"]["type"]: 取得檔案類型
$_FILES["inputName"]["error"]: 上傳結果 (0: 成功) (4: 沒有上傳檔案)

 範例: 單一檔案上傳
HTML 範例:
<form action="test.php" method="post" enctype="multipart/form-data">
    檔案 : <input name="uploadFile" type="file"/><br>
    <input type="submit" value="上傳檔案" />
</form>

PHP 範例:
// 上傳成功
if( $_FILES["uploadFile"]["error"] == 0 )
{
    echo "File Temp: " . $_FILES["uploadFile"]["tmp_name"] . "<br>";
    echo "File Name: " . $_FILES["uploadFile"]["name"] . "<br>";
    echo "File Type: " . $_FILES["uploadFile"]["type"] . "<br>";
    echo "File Size: " . $_FILES["uploadFile"]["size"] . "<br>";
    
    // 將檔案從暫存區搬到你指定的目錄中
    move_uploaded_file( $_FILES["uploadFile"]["tmp_name"], $_FILES["uploadFile"]["name"] );
}
// 上傳失敗 (排除 "沒有上傳檔案" 因素)
else if( $_FILES["uploadFile"]["error"] <> 4 )
    echo $_FILES["uploadFile"]["name"] . " 檔案上傳失敗";

 範例: 多個檔案上傳
HTML 範例:
<form action="test.php" method="post" enctype="multipart/form-data">
    檔案 1 : <input name="uploadFile[]" type="file"/><br>
    檔案 2 : <input name="uploadFile[]" type="file"/><br>
    檔案 3 : <input name="uploadFile[]" type="file"/><br>
    <input type="submit" value="上傳檔案" />
</form>

PHP 範例:
// 計算有多少個檔案上傳
$fileCnt = count( $_FILES["uploadFile"]["name"] );
for( $i = 0; $i < $fileCnt; $i++ )
{
    // 上傳成功
    if( $_FILES["uploadFile"]["error"][$i] == 0 )
    {
        echo "File Temp: " . $_FILES["uploadFile"]["tmp_name"][$i] . "<br>";
        echo "File Name: " . $_FILES["uploadFile"]["name"][$i] . "<br>";
        echo "File Type: " . $_FILES["uploadFile"]["type"][$i] . "<br>";
        echo "File Size: " . $_FILES["uploadFile"]["size"][$i] . "<br>";
    
        // 將檔案從暫存區搬到你指定的目錄中
        move_uploaded_file( $_FILES["uploadFile"]["tmp_name"][$i], $_FILES["uploadFile"]["name"][$i] );
    }
    // 上傳失敗 (排除 "沒有上傳檔案" 因素)
    else if( $_FILES["uploadFile"]["error"][$i] <> 4 )
        echo $_FILES["uploadFile"]["name"][$i] . " 檔案上傳失敗";
}

以上, 提供參考.

Related Posts Plugin for WordPress, Blogger...