ホームページ > バックエンド開発 > PHPチュートリアル > 複数の画像を一度にアップロードできるプラグインはありますか?解決

複数の画像を一度にアップロードできるプラグインはありますか?解決

WBOY
リリース: 2016-06-13 13:29:01
オリジナル
850 人が閲覧しました

複数の画像を一度にアップロードできるプラグインはありますか?
ディスカス投稿のように複数の画像を一度にアップロードし、アップロードされたすべての画像のパスをエディタに挿入します。

何かありますか?

-----解決策---------
JS バッチ アップロード プラグインを探す, これは主に見た目の美しさのためであり、技術的な観点から見ると単なる形式にすぎません。

http プロトコル実装の観点から見ると、次の PHP コードは生きたプロトコルの詳細です:

PHP コード
<?php
function do_post_request($url, $postdata, $files = null)
{
    $data = "";
    $boundary = "---------------------".substr(md5(rand(0,32000)), 0, 10);
       
    //ポストデータを収集する
    foreach($postdata as $key => $val)
    {
        $data .= "--$boundaryn";
        $data .= "Content-Disposition: form-data; name="".$key.""nn".$val."n";
    }
     
    $data .= "--$boundaryn";
    
    //ファイルデータを収集する
    foreach($files as $key => $file)
    {
        $fileContents = file_get_contents($file['tmp_name']);
        
        $data .= "Content-Disposition: form-data; name="{$key}"; filename="{$file['name']}"n";
        $data .= "コンテンツタイプ: image/jpegn";
        $data .= "コンテンツ転送エンコーディング: binarynn";
        $data .= $fileContents."n";
        $data .= "--$boundary--n";
    }
  
    $params = array('http' => array(
           'メソッド' => 'POST',
           'header' => 'Content-Type: multipart/form-data; '.$boundary;
           'コンテンツ' => $data
        ));

   $ctx = stream_context_create($params);
   $fp = fopen($url, 'rb', false, $ctx);
   
   if (!$fp) {
      throw new Exception("$url、$php_errormsg の問題");
   }
  
   $response = @stream_get_contents($fp);
   if ($response === false) {
      throw new Exception("$url、$php_errormsg からのデータ読み取りの問題");
   }
   $response を返します。
}

// データを設定します (この例では post からのもの)

//サンプルデータ
$postdata = 配列(
    '名前' => $_POST['名前'],
    '年齢' => $_POST['年齢'],
    'セックス' => $_POST['セックス']
);

//サンプル画像
$files['画像'] = $_FILES['画像'];

do_post_request("http://example.com", $postdata, $files);
?>
<br><font color="#e78608">------解決策------------------</font><br>swfopload
<br><font color="#e78608">------解決策---------</font><br>PHP を学習しているときに PHP アップロードに遭遇することがあります。複数の画像に関する問題は、画像のみがアップロードされ、他のファイルがサーバーにアップロードされないように画像形式を検証する必要があります。複数の画像をアップロードする基本的な実装方法は、配列の形式を使用し、すべての画像を配列に送信し、ループで配列の要素を 1 つずつ処理することです。以下は、PHP 複数画像アップロードのコード例です。 <br><br>1.<?php <br />2.//画像ディレクトリ<br />3.$img_dir="../upload/"; 🎜> 4.//...HTML表示アップロードインターフェース<br />5./*画像アップロード処理*/ <br />6.//画像をサーバーに転送<br />7.//変数を初期化<br /> 8.$uploaded =0; <br />9.$unuploaded=0; <br />10.//アップロードできる写真は 5 枚だけです<br />11.for($i=0;$i<=5; $i++) <br /> 12.{ <br />13.//現在の画像の情報を取得します<br />14.$is_file=$_FILES['imgfile']['name'][$i]; >15.//現在の画像が空でない場合<br />16.if(!empty($is_file)) <br />17.{ <br />18.//現在の画像の情報を変数に保存します<br />19.$result[$i] =" <br />20.<trclasstrclass=td2align=center> <br>21.<td>".$_FILES['imgfile']['name'][$i ]."</td> <br>22.<td>".round($_FILES['imgfile']['size'][$i]/1024,2)."K</td> <br>23.<td>" .$_FILES['imgfile']['type'][$i]."<br>24.</td><td>"; <br>25./ /アップロードされた画像の種類がjpg、gif、png、bmpのいずれかであるかを判断し、同時にアップロードが成功したかどうかを判断します <br>26.if( <br>27.$_FILES['imgfile'] ['type'][$i]=="画像/pjpeg"|| <br>28.$_FILES['imgfile']['type'][$i]=="画像/gif"|| >29.$_FILES['imgfile']['type' ][$i]=="image/x-png"|| <br>30.$_FILES['imgfile']['type'][$i] ]=="image/bmp" <br>31.) <br>32.{ <br>33.//アップロードされたファイルがサーバー上に存在しない場合<br>34.if(!file_exists($img_dir. $_FILES['imgfile']['name'][$i ])) <br>35.{ <br>36.//画像ファイルを一時フォルダーからアップロード用に指定したディレクトリに移動します <br>37 .move_uploaded_file($_FILES['imgfile']['tmp_name' ][$i], <br>38.$img_dir.$_FILES['imgfile']['name'][$i]); .$result[$i].="成功"; <br>40.$uploaded++; <br>41.} <br>42.else//ファイルがサーバー上にすでに存在する場合<br>43.{ 🎜>44.$result[$i].="<fontcolor=red>ファイルはすでに存在します</font>";</td>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート