首頁 > 後端開發 > php教程 > 如何解決在CodeIgniter中上傳多個檔案時出現「您沒有選擇要上傳的檔案」錯誤?

如何解決在CodeIgniter中上傳多個檔案時出現「您沒有選擇要上傳的檔案」錯誤?

Barbara Streisand
發布: 2024-11-28 20:13:11
原創
313 人瀏覽過

How to Solve

在 CodeIgniter中上傳多個檔案

問題:

使用單一表單元素上傳多個檔案會導致錯誤「您沒有選擇檔案

解決方案:

問題出在CodeIgniter上傳函式庫的初始化上。 multiple屬性時,需要調整函式庫初始化以處理多個檔案。 🎜>

初始化:上傳程式庫被初始化並配置為處理多個檔案通過在$_FILES 中定義多個索引(即images[]).

private function upload_files($path, $title, $files)
{
    $config = array(
        'upload_path'   => $path,
        'allowed_types' => 'jpg|gif|png',
        'overwrite'     => 1,
    );

    $this->load->library('upload', $config);

    $images = array();

    foreach ($files['name'] as $key => $image) {
        $_FILES['images[]']['name']      = $files['name'][$key];
        $_FILES['images[]']['type']      = $files['type'][$key];
        $_FILES['images[]']['tmp_name']  = $files['tmp_name'][$key];
        $_FILES['images[]']['error']     = $files['error'][$key];
        $_FILES['images[]']['size']      = $files['size'][$key];

        $fileName = $title . '_' . $image;

        $images[] = $fileName;

        $config['file_name'] = $fileName;

        $this->upload->initialize($config);

        if ($this->upload->do_upload('images[]')) {
            $this->upload->data();
        } else {
            return false;
        }
    }

    return $images;
}
登入後複製
多部分處理:

輸入欄位上的multiple 屬性要求伺服器處理多個檔案上傳。 [] 後綴,允許發布多個文件。循環分別處理每個文件,用相應的資料初始化$_FILES 並將file_name 設定為與文件名稱連接的標題。 images[]') 上傳,成功上傳會加入到$images數組中。

以上是如何解決在CodeIgniter中上傳多個檔案時出現「您沒有選擇要上傳的檔案」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板