溫馨提示×

PHP file_get_contents能上傳嗎

PHP
小樊
81
2024-10-23 06:07:12
欄目: 編程語言

file_get_contents 本身不支持文件上傳。它用于從指定的 URL 獲取內(nèi)容,而不是從本地文件系統(tǒng)讀取文件。如果您想使用 PHP 處理文件上傳,可以使用 $_FILES 超全局變量。

以下是一個簡單的示例,說明如何使用 $_FILES 處理文件上傳:

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['uploaded_file'])) {
    $uploadDir = 'uploads/';
    $uploadFile = $uploadDir . basename($_FILES['uploaded_file']['name']);
    $uploadSize = $_FILES['uploaded_file']['size'];
    $uploadError = $_FILES['uploaded_file']['error'];
    $uploadType = $_FILES['uploaded_file']['type'];

    // 檢查是否有錯誤
    if ($uploadError === UPLOAD_ERR_OK) {
        // 檢查文件大小是否超過限制(例如:1MB)
        if ($uploadSize <= 1048576) {
            // 檢查文件類型是否為允許的類型(例如:image/jpeg, image/png)
            $allowedTypes = ['image/jpeg', 'image/png'];
            if (in_array($uploadType, $allowedTypes)) {
                // 將文件移動到上傳目錄
                if (move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $uploadFile)) {
                    echo '文件上傳成功:' . $uploadFile;
                } else {
                    echo '文件上傳失敗,請重試。';
                }
            } else {
                echo '不允許的文件類型。';
            }
        } else {
            echo '文件大小超過限制。';
        }
    } else {
        echo '文件上傳出錯,錯誤代碼:' . $uploadError;
    }
}
?>

<!-- HTML 表單 -->
<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="uploaded_file" accept="image/jpeg, image/png">
    <input type="submit" value="上傳文件">
</form>

這個示例中,我們創(chuàng)建了一個簡單的 HTML 表單,允許用戶選擇一個文件并上傳。當(dāng)表單提交時,我們檢查是否有錯誤,檢查文件大小和類型,然后將文件移動到 uploads 目錄。如果一切正常,我們會輸出文件上傳成功的消息,否則會輸出相應(yīng)的錯誤信息。

0