當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


PHP move_uploaded_file()用法及代碼示例

move_uploaded_file()function 是 PHP 中的內置函數,用於更改文件目標。該函數僅在通過 PHP POST 函數上傳文件時起作用。如果文件有效,則會上傳。

用法:

move_uploaded_file( string $from, string $to ): bool

Parameters: 該函數接受兩個參數,如下所述。

  • $from: 該參數指定文件的臨時位置。這是臨時存儲您上傳的文件的位置。
  • $to 此參數指定文件存儲位置的目標。

返回值:如果函數成功更改文件位置,則此函數返回 true,否則此函數將返回 false。

程序1:下麵的程序演示了move_uploaded_file()函數。

PHP


/* upload.php */
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (
        isset($_FILES["file_upload"]) &&
        $_FILES["file_upload"]["error"] == UPLOAD_ERR_OK
    ) {
          // Add name of upload directory
        $uploadDirectory = "./uploads/";
        if (move_uploaded_file(
            $_FILES["file_upload"]["tmp_name"],
            $uploadDirectory . $_FILES["file_upload"]["name"]
            )) {
            echo "File uploaded successfully!";
        } else {
            echo "Error moving file.";
        }
    } else {
        echo "Error uploading file.";
    }
}
?>

HTML


<!-- index.php -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content=
        "width=device-width, initial-scale=1.0">
    <title>Simple File Upload</title>
</head>
<body>
    <form action="upload.php" method="post"
        enctype="multipart/form-data">
         
        <label for="file_upload">
            Choose a file:
        </label>
         
        <input type="file" name="file_upload"
            id="file_upload">
         
        <input type="submit" value="Upload File">
    </form>
</body>
</html>

輸出:

uploaded

程序2:下麵的程序演示了move_uploaded_file()函數。在此示例中,我們僅上傳特定擴展。

PHP


/* upload.php */
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (
        isset($_FILES["file_upload"]) &&
        $_FILES["file_upload"]["error"] == UPLOAD_ERR_OK
    ) {
        $uploadDirectory = "uploads/";
        $originalFileName = 
            basename($_FILES["file_upload"]["name"]);
        $fileExtension = pathinfo(
            $originalFileName, PATHINFO_EXTENSION);
        $allowedExtensions = ["jpg", "jpeg", "png"];
        if (in_array($fileExtension, $allowedExtensions)) {
            if (
                move_uploaded_file(
                    $_FILES["file_upload"]["tmp_name"],
                    $uploadDirectory . $originalFileName
                )
            ) {
                echo "File uploaded successfully!";
            } else {
                echo "Error moving file.";
            }
        } else {
            echo "Error: Only JPG, JPEG, and "
                . "PNG files are allowed.";
        }
    } else {
        echo "Error uploading file.";
    }
}
?>

HTML


<!-- index.php -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content=
        "width=device-width, initial-scale=1.0">
    <title>File Upload Example</title>
</head>
<body>
    <form action="upload.php" method="post"
        enctype="multipart/form-data">
        <label for="file_upload">
            Choose a file (only JPG, JPEG, and PNG):
        </label>
         
        <input type="file" name="file_upload"
            id="file_upload" accept=".jpg, .jpeg, .png">
         
        <input type="submit" value="Upload File">
    </form>
</body>
</html>

輸出:

uploaded參考: https://www.php.net/manual/en/function.move-uploaded-file.php



相關用法


注:本文由純淨天空篩選整理自neeraj3304大神的英文原創作品 PHP move_uploaded_file() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。