以下是根據您的文章採用問題格式的一些文章標題: * **在 PHP 中上傳多個檔案:為什麼 `move_uploaded_file` 失敗,以及如何修復它? * **多文件上傳

Patricia Arquette
發布: 2024-10-26 04:13:02
原創
497 人瀏覽過

Here are a few article titles in a question format based on your article:

* **Uploading Multiple Files in PHP: Why Does `move_uploaded_file` Fail, and How to Fix It?** 
* **Multiple File Upload with jQuery and PHP:  How to Correctly Loop and Move Uploade

上傳多個檔案的困難:PHP 和 jQuery 解決方案

在使用 PHP 的過程中,您在嘗試上傳多個檔案時遇到了障礙。讓我們探討如何透過深入研究提供的程式碼片段並解決問題來克服這項挑戰。

代碼

HTML 檔案具有一個帶有檔案輸入欄位的表單,允許進行多項選擇(多個=多個)。點選按鈕會觸發 sendfile() 函數,啟動上傳過程。 sendfile() 函數建立一個 FormData 物件並迭代選定的文件,將它們附加到資料負載中。然後利用 jQuery 的 ajax() 函數將資料傳送到 uploadfile.php 進行處理。

PHP 檔案(uploadfile.php)定義一個目標目錄,並嘗試逐一移動上傳的檔案。

障礙:單一文件上傳

提供的程式碼錯誤地嘗試一次移動每個上傳的文件,這適用於單一文件,但不適用於多個選擇。問題的關鍵在於 for 迴圈的建構。

解決方案:循環遍歷上傳的檔案

適當的解決方法是使用更具包容性的 foreach 迴圈來迭代上傳的檔案。這種方法確保每個檔案都被處理並移動到目標目錄。

要實現這一點,需要對uploadfile.php 進行以下調整:

<code class="php">foreach ($_FILES['myfile']['name'] as $i => $name) {
    if (move_uploaded_file($_FILES['myfile']['tmp_name'][$i], $target . $name)) {
        echo 'Successfully copied';
    } else {
        echo 'Sorry, could not copy';
    }
}</code>
登入後複製

這個精煉版本可以正確處理多個檔案透過迭代每個檔案的名稱和臨時路徑來移動文件,使它們能夠單獨移動。此循環確保每個選定的檔案都被考慮並移動到指定的目標目錄。

以上是以下是根據您的文章採用問題格式的一些文章標題: * **在 PHP 中上傳多個檔案:為什麼 `move_uploaded_file` 失敗,以及如何修復它? * **多文件上傳的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!