溫馨提示×

ubuntu里php如何實現文件上傳

小樊
43
2025-06-19 09:15:47
欄目: 編程語言

在 Ubuntu 系統中,使用 PHP 實現文件上傳需要遵循以下步驟:

  1. 創建一個 HTML 表單,用于選擇和上傳文件。將以下代碼保存為 upload.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>File Upload</title>
</head>
<body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        Select file to upload:
        <input type="file" name="fileToUpload" id="fileToUpload">
        <input type="submit" value="Upload File" name="submit">
    </form>
</body>
</html>
  1. 創建一個 PHP 文件,用于處理文件上傳。將以下代碼保存為 upload.php
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));

// Check if image file is an actual image or fake image
if (isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if ($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}

// Check if file already exists
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}

// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}

// Allow certain file formats
if ($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif") {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}

// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". htmlspecialchars(basename($_FILES["fileToUpload"]["name"])). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>
  1. 確保 PHP 和 Web 服務器(如 Apache 或 Nginx)已安裝在您的 Ubuntu 系統上。如果尚未安裝,可以使用以下命令安裝:
sudo apt update
sudo apt install apache2
sudo apt install php libapache2-mod-php
  1. 重啟 Apache 服務器以應用更改:
sudo systemctl restart apache2
  1. upload.htmlupload.php 文件上傳到 Apache 的默認文檔根目錄(通常為 /var/www/html):
sudo cp upload.html /var/www/html/
sudo cp upload.php /var/www/html/
  1. 在瀏覽器中訪問 http://your_server_ip/upload.html,然后嘗試上傳一個文件。如果一切正常,您應該能夠看到文件已成功上傳的消息。

注意:出于安全原因,請確保始終驗證和清理用戶上傳的文件。在上面的示例中,我們僅允許特定類型的圖像文件上傳。在實際應用中,您可能需要執行更多的安全檢查。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女