在PHP中,使用者可以使用文件上傳功能上傳文件,並且必須透過表單提交的文件很容易附加和上傳。使用者可以上傳多種類型的文件,可以是文件形式、圖像形式、pdf 形式等。這些類型的檔案帶有副檔名,即 .docx、.jpeg、.pdf 等。這種文件由表單並設定檔案大小,以便上傳的大小不得超過該大小。對於過去手動輸入資料的用戶來說,這是一項高級功能,現在選擇了此選項。
使用 PHP,可以非常輕鬆地使用表單將檔案上傳到伺服器,與其他方法相比,資料也很安全。設定檔“php.ini”檔案有一個必須為要上傳的檔案設定的變量,該變數稱為“file_uploads”,應將其設為ON以啟用上傳功能。我們需要執行幾個步驟才能在伺服器中上傳檔案。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
在使用表單將檔案上傳到伺服器之前,需要進行一些檢查。這些檢查稱為上傳文件的驗證。
以下是開發人員編碼以驗證表單的一些要點:
要上傳的文件,此變數的值應為 ON。如果它不是 ON,則檔案無法上傳到伺服器。因此,它應該始終處於開啟狀態。
此指令用於配置可以使用表單上傳到伺服器的檔案的最大大小。這是一種檢查,以查看用戶上傳的檔案大小。檔案的預設大小設定為2M(2兆位元組),我們可以使用.htaccess檔案覆蓋這種設置,開發人員可以在其中增加檔案的大小。以今天的標準來看,兩兆位元組並不算多,所以我們可能必須增加它。如果您在嘗試上傳檔案時收到錯誤訊息,指出檔案大小超過 upload_max_filesize,則需要增加該值。如果這樣做,請務必同時增加 post_max_size。
它設定一個臨時目錄,用於儲存使用者上傳的檔案。大多數情況下,但我們不必擔心這個設定。如果我們不設置,系統預設會自動設定可以使用的temp目錄。
post_max_size指令允許我們設定POST方法上傳的資料的最大大小。由於檔案是透過 POST 請求上傳的,因此該值必須大於我們為 upload_max_filesize 設定的值。例如,如果 upload_max_filesize 為 20M(20 MB),我們可能需要將 post_max_size 設定為 24M。
它允許您設定使用者一次可以上傳的最大檔案數。預設每次使用者數量為 20。
這是允許腳本解析使用者輸入資料的秒數。如果我們要處理大尺寸的檔案上傳,我們應該將其設定為合理的值。 60(60 秒),對於大多數應用程式來說都是一個不錯的值。
記憶體限制指令指示腳本可以在伺服器中消耗的最大記憶體量。如果我們在上傳大檔案期間遇到任何問題,我們需要將該指令的值設定為大於 post_max_size 指令設定的值。預設情況下,該值設定為 128M(128 兆位元組),因此除非我們有非常大的 post_max_size 和 upload_max_filesize,否則我們不必擔心。
此指令用於允許腳本在伺服器中運行的最大秒數。如果我們在上傳大檔案的過程中遇到任何問題,我們可以考慮將值增加到更多秒,例如 60(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>
輸出:
代碼:
<!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>
輸出:
代碼:
<!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 $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:
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.
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中文網其他相關文章!