ホームページ >バックエンド開発 >PHPチュートリアル >CodeIgniter で複数のファイルをアップロードすると「アップロードするファイルが選択されていません」というメッセージが表示されるのはなぜですか?

CodeIgniter で複数のファイルをアップロードすると「アップロードするファイルが選択されていません」というメッセージが表示されるのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-27 15:29:13791ブラウズ

Why Am I Getting

CodeIgniter を使用した複数のファイルのアップロード

問題:

を使用して複数のファイルをアップロードしようとすると提供された例では、「アップロードするファイルが選択されていません。」というエラー メッセージが表示されます。

解決策:

問題はアップロード方法にあります。 CodeIgniter を使用して複数のファイルを正しくアップロードするには、以下に示すようにコードを更新する必要があります:

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

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

    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];

        $config['file_name'] = $title .'_'. $image;

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

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

    return true;
}

説明:

主な違いはアップロードの初期化にあります。方法。同じ名前の複数のファイル入力を使用する場合、提供された修正コードに見られるように、入力配列は '$_FILES['images']' ではなく '$_FILES['images[]']' として参照される必要があります。これにより、個々のファイルが正しく処理され、アップロードされることが保証されます。

以上がCodeIgniter で複数のファイルをアップロードすると「アップロードするファイルが選択されていません」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。