ホームページ > バックエンド開発 > PHPチュートリアル > CodeIgniter で複数のファイルをアップロードする際の「アップロードするファイルが選択されていません」エラーを解決する方法は?

CodeIgniter で複数のファイルをアップロードする際の「アップロードするファイルが選択されていません」エラーを解決する方法は?

DDD
リリース: 2024-11-26 00:28:13
オリジナル
652 人が閲覧しました

How to Solve the

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート