首頁  >  文章  >  後端開發  >  用 PHP 上傳文件

用 PHP 上傳文件

WBOY
WBOY原創
2024-08-29 13:07:39943瀏覽

在PHP中,使用者可以使用文件上傳功能上傳文件,並且必須透過表單提交的文件很容易附加和上傳。使用者可以上傳多種類型的文件,可以是文件形式、圖像形式、pdf 形式等。這些類型的檔案帶有副檔名,即 .docx、.jpeg、.pdf 等。這種文件由表單並設定檔案大小,以便上傳的大小不得超過該大小。對於過去手動輸入資料的用戶來說,這是一項高級功能,現在選擇了此選項。

如何用 PHP 建立和上傳檔案?

使用 PHP,可以非常輕鬆地使用表單將檔案上傳到伺服器,與其他方法相比,資料也很安全。設定檔“php.ini”檔案有一個必須為要上傳的檔案設定的變量,該變數稱為“file_uploads”,應將其設為ON以啟用上傳功能。我們需要執行幾個步驟才能在伺服器中上傳檔案。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

在使用表單將檔案上傳到伺服器之前,需要進行一些檢查。這些檢查稱為上傳文件的驗證。

以下是開發人員編碼以驗證表單的一些要點:

用 PHP 上傳文件

1.檔案_上傳

要上傳的文件,此變數的值應為 ON。如果它不是 ON,則檔案無法上傳到伺服器。因此,它應該始終處於開啟狀態。

2.上傳最大尺寸

此指令用於配置可以使用表單上傳到伺服器的檔案的最大大小。這是一種檢查,以查看用戶上傳的檔案大小。檔案的預設大小設定為2M(2兆位元組),我們可以使用.htaccess檔案覆蓋這種設置,開發人員可以在其中增加檔案的大小。以今天的標準來看,兩兆位元組並不算多,所以我們可能必須增加它。如果您在嘗試上傳檔案時收到錯誤訊息,指出檔案大小超過 upload_max_filesize,則需要增加該值。如果這樣做,請務必同時增加 post_max_size。

3.上傳_tmp_dir

它設定一個臨時目錄,用於儲存使用者上傳的檔案。大多數情況下,但我們不必擔心這個設定。如果我們不設置,系統預設會自動設定可以使用的temp目錄。

4. Post_max_size

post_max_size指令允許我們設定POST方法上傳的資料的最大大小。由於檔案是透過 POST 請求上傳的,因此該值必須大於我們為 upload_max_filesize 設定的值。例如,如果 upload_max_filesize 為 20M(20 MB),我們可能需要將 post_max_size 設定為 24M。

5.最大檔案上傳數

它允許您設定使用者一次可以上傳的最大檔案數。預設每次使用者數量為 20。

6.最大輸入時間

這是允許腳本解析使用者輸入資料的秒數。如果我們要處理大尺寸的檔案上傳,我們應該將其設定為合理的值。 60(60 秒),對於大多數應用程式來說都是一個不錯的值。

7.記憶體_限制

記憶體限制指令指示腳本可以在伺服器中消耗的最大記憶體量。如果我們在上傳大檔案期間遇到任何問題,我們需要將該指令的值設定為大於 post_max_size 指令設定的值。預設情況下,該值設定為 128M(128 兆位元組),因此除非我們有非常大的 post_max_size 和 upload_max_filesize,否則我們不必擔心。

8.最大執行時間

此指令用於允許腳本在伺服器中運行的最大秒數。如果我們在上傳大檔案的過程中遇到任何問題,我們可以考慮將值增加到更多秒,例如 60(1 分鐘),這對於大多數應用程式來說應該很有效。

用 PHP 上傳檔案的範例

下面給出的是提到的範例::

範例#1

代碼:

<!DOCTYPE html>
<html>
<body>
<form action="uploadimage.php" method="POST" enctype="multipart/form-data">
Select any image to upload:
<input type="File" name="FileUpload" id="FileUpload">
<input type="submit" value="Upload" name="SUBMIT">
</form>
</body>
</html>

輸出:

用 PHP 上傳文件

範例#2

代碼:

<!DOCTYPE html>
<html lang="en">
<head>
<title>Photo Upload Form</title>
</head>
<body>
<form action="upload.php" method="POST" enctype="multipart/form-data">
<h1>Upload File</h1>
<label for="fileSelect">Filename:</label>
<input type="file" name="photo" id="FileSelect">
<input type="submit" name="SUBMIT" value="Upload Photo">
<p><strong>Note:</strong> Only .jpg, .jpeg, .gif, .png formats allowed to a max size of 2 MB larger than that cannot not be uploaded.</p>
</form>
</body>
</html>

輸出:

用 PHP 上傳文件

範例#3

代碼:

<!DOCTYPE html>
<html>
<body>
<form action="upload.php" method="POST" enctype="multipart/form-data">
Select a file to upload:
<input type="file" name="FileToUpload"/>
<input type="submit" value="Upload" name="submit"/>
</form>
</body>
</html>

輸出:

用 PHP 上傳文件

範例#4

代碼:

<?php
$target_path = "c:/";
$target_path = $target_path.basename( $_FILES['fileToUpload']['name']);
if(move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $target_path)) {
echo "File has been uploaded successfully!";
}
else
{
echo "Sorry, file not uploaded, please check and try again!";
}
?>

Output:

用 PHP 上傳文件

In the above examples, the user can see the screen that is present in the snapshots. Users will attach the document by clicking the “choose file” option. The file will get attached once the user selects the file from his local machine and clicks on the Upload button to submit the documents to the server. The user will then be prompted a message stating that the file has been uploaded successfully.

Conclusion

In this article, we discussed how a user can upload a file to the server using the form and how an uploaded file can be validated in various forms, and the server restrictions for uploading a file. The user might not understand the process of the backend but the developer has to code in such a way that the document uploaded by the user should be correct and the data is secured.

以上是用 PHP 上傳文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:PHP 開啟文件下一篇:PHP 開啟文件