ホームページ > バックエンド開発 > PHPチュートリアル > PHP と jQuery で複数のファイルのアップロードを実装するにはどうすればよいですか?

PHP と jQuery で複数のファイルのアップロードを実装するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-10-26 19:34:03
オリジナル
1100 人が閲覧しました

How to Implement Multiple File Uploads in PHP and jQuery?

PHP および jQuery での複数ファイルのアップロードの処理

Web 開発の領域では、画像ギャラリーやドキュメントなどのタスクで複数のファイルをアップロードする機能が必要になることがよくあります。管理システムなど。このチュートリアルでは、PHP と jQuery を使用して複数のファイルのアップロードを有効にするプロセスについて説明します。

HTML とフォームのセットアップ

HTML フォームは、アップロードするファイルが選択されるインターフェイスとして機能します。ここでは、複数のファイルを選択できるように「multiple」属性が設定された「file」タイプの入力フィールドがあります。

<input id="myfile" type="file" name="myfile" multiple=multiple/>
ログイン後にコピー

「アップロード」ボタンをクリックすると、sendfile() 関数が実行されます。 onclick イベント ハンドラーによってトリガーされます。

jQuery と FormData

sendfile() 関数は、jQuery を利用して FormData オブジェクトを構築します。このオブジェクトを使用すると、サーバー側スクリプトに送信されるファイルなどのフォーム データを含めることができます。選択した各ファイルは FormData オブジェクトに追加されます:

for (var i = 0, len = document.getElementById('myfile').files.length; i < len; i++) {
    fd.append("myfile", document.getElementById('myfile').files[i]);                
}
ログイン後にコピー

サーバー側 PHP スクリプト

サーバー側では、uploadfile.php スクリプトがファイルのアップロードを処理します:

<code class="php">$target = "uploadfolder/";
// for($i=0; $i <count($_FILES['myfile']['name']); $i++){
    if(move_uploaded_file($_FILES['myfile']['tmp_name'], $target.$_FILES['myfile']['name'])) { 
        echo 'Successfully copied'; 

    }else{       
        echo 'Sorry, could not copy';
    }   
// } 
ログイン後にコピー

ただし、このコードは複数のファイルを反復処理するループが欠けているため不完全です。提供された正しい回答に示されているようにループを実装する必要があります。

更新例 (回答に基づく)

回答で提供された例では、jQuery コードと HTML 構造は次のとおりです。上記の不完全なコードに似ています。主な違いは、load.php スクリプトにあります。

複数のファイルを処理するためにループが実装されています。

<code class="php">foreach ($_FILES as $key) {
    if($key['error'] == UPLOAD_ERR_OK ){
        $name = $key['name'];
        $temp = $key['tmp_name'];
        $size= ($key['size'] / 1000)."Kb";
        move_uploaded_file($temp, $path . $name);
        echo "
            <div>
                <h1>File Name: $name</h1><br />
                <h1>Size: $size</h1><br />
                <hr>
            </div>
            ";
    }else{
        echo $key['error'];
    }
}
ログイン後にコピー

以上がPHP と jQuery で複数のファイルのアップロードを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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