CodeIgniter での複数のファイルのアップロード
多くの Web アプリケーションでは、複数のファイルを一度にアップロードする機能が必要です。 CodeIgniter は、組み込みのファイル アップロード ライブラリを使用してこのタスクを簡単にします。ただし、単一のフォーム要素で複数のファイルを処理する場合、問題が発生する可能性があります。
問題:
この例では、「ファイルを選択していません。」というエラー メッセージが表示されます。複数のファイルをアップロードしようとすると、「アップロードするファイル」というエラーが発生します。これは、ファイル入力フィールドの名前 image[] が、upload_files() メソッドで正しく処理されないために発生します。
解決策:
この問題を解決するには、次の手順を実行します。 Upload_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; }
メソッドを実行すると、images[] 配列内の各ファイルが正しく処理され、エラー メッセージが解決され、複数のファイルのアップロードが意図したとおりに機能できるようになります。
以上がCodeIgniter で複数のファイルをアップロードする際の「アップロードするファイルが選択されていません」エラーを解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。