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

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

WBOY
リリース: 2016-06-23 14:17:54
オリジナル
1059 人が閲覧しました

discuz 投稿と同様に、複数の画像を一度にアップロードし、アップロードされたすべての画像のパスをエディタに挿入します。

ありますか?


ディスカッション (解決策) への返信

主に見た目の美しさを目的とした JS バッチ アップロード プラグインを見つけますが、技術的な観点から見ると、これはまだ形式にすぎません。

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

<?php function do_post_request($url, $postdata, $files = null) {     $data = "";     $boundary = "---------------------".substr(md5(rand(0,32000)), 0, 10);            //Collect Postdata     foreach($postdata as $key => $val)     {         $data .= "--$boundary\n";         $data .= "Content-Disposition: form-data; name=\"".$key."\"\n\n".$val."\n";     }          $data .= "--$boundary\n";         //Collect Filedata     foreach($files as $key => $file)     {         $fileContents = file_get_contents($file['tmp_name']);                 $data .= "Content-Disposition: form-data; name=\"{$key}\"; filename=\"{$file['name']}\"\n";         $data .= "Content-Type: image/jpeg\n";         $data .= "Content-Transfer-Encoding: binary\n\n";         $data .= $fileContents."\n";         $data .= "--$boundary--\n";     }       $params = array('http' => array(            'method' => 'POST',            'header' => 'Content-Type: multipart/form-data; boundary='.$boundary,            'content' => $data         ));    $ctx = stream_context_create($params);    $fp = fopen($url, 'rb', false, $ctx);       if (!$fp) {       throw new Exception("Problem with $url, $php_errormsg");    }      $response = @stream_get_contents($fp);    if ($response === false) {       throw new Exception("Problem reading data from $url, $php_errormsg");    }    return $response; } //set data (in this example from post) //sample data $postdata = array(     'name' => $_POST['name'],     'age' => $_POST['age'],     'sex' => $_POST['sex'] ); //sample image $files['image'] = $_FILES['image']; do_post_request("http://example.com", $postdata, $files); ?>
ログイン後にコピー

swfopload

この投稿は、PhpNewnew によって最終編集されました: 2012-05-26 10:56:05

PHP の学習PHP で複数の画像をアップロードする際に問題が発生する場合があります。画像をアップロードするには、他のファイルがサーバーにアップロードされないように、アップロードされた画像が画像であることを確認する必要があります。複数の画像をアップロードする基本的な実装方法は、配列の形式を使用し、すべての画像を配列に送信し、ループで配列の要素を 1 つずつ処理することです。以下は、PHP の複数の画像アップロードのコード例です。

1. 2.//画像ディレクトリ
3.$img_dir="../upload/";
4.//...htmlアップロードインターフェースを表示します
5./*画像アップロード処理*/
6.//画像をサーバーに転送します
7.//変数を初期化します
8.$uploaded=0;
9.$unuploaded=0; //5 枚の写真のみアップロードできます
11.for($i=0;$i<=5;$i++)
12.{
13.//現在の写真に関する情報を取得します
14.$is_file=$_FILES[ 'imgfile'] ['name'][$i];
15.//現在の画像が空でない場合
16.if(!empty($is_file))
17.{
18.//情報を保存する現在の画像を変数に代入します
19.$result[$i]="
20.
21.".$_FILES['imgfile']['name'] [$i]."
22.".round($_FILES['imgfile']['size'][$i]/1024,2)."K
23.".$_FILES['imgfile']['type'][$i]."
24.";
25.// タイプかどうかを判断しますアップロードされた画像がjpg、gif、png、bmpのいずれかであり、同時にアップロードが成功したかどうかを判定します
26.if(
27.$_FILES['imgfile']['type'][$i] =="画像/pjpeg"||
28 .$_FILES['imgfile']['type'][$i]=="画像/gif"||
29.$_FILES['imgfile']['type '][$i]=="画像/ x-png"||
30.$_FILES['imgfile']['type'][$i]=="画像/bmp"
31.)
32. {
33.//アップロードされたファイルがサーバー上に存在しない場合
34.if(!file_exists($img_dir.$_FILES['imgfile']['name'][$i]))
35.{
36.//一時フォルダーから画像ファイルを置きます アップロード用に指定したディレクトリに転送します
37.move_uploaded_file($_FILES['imgfile']['tmp_name'][$i],
38.$img_dir.$_FILES ['imgfile']['name'][$ i]);
39.$result[$i].="成功";
40.$uploaded++
41.}
42.else//サーバー上にすでに存在します
43.{
44.$ result[$i].="ファイルはすでに存在します";
45.$unuploaded++
46.Continue; }
48.}
49.else
50. {
51.$result[$i].="失敗";
52.$unuploaded++;
54 .$result[$i].="< ;/td>";
55.}//endif
56.}//endfor
57.//画像が選択されていない場合
58.if (empty($result))
59.{
60.prompt_msg("エラー メッセージ", "画像が選択されていません。 ","前のステップに戻る","uploadimg.php?action=upload");
61.exit();
62.}
63.//アップロードされた結果をすべて表示する

引用楼主 的回复:
像discuz发帖那样,一次上传多个图片,然后将所有上传的图片路径插入到编辑器中。

有没有?

网上有一个仿QQ相册上传插件的程序。
Xproer.ImageUploader: http://www.cnblogs.com/xproer/archive/2010/08/09/1796077.html
主界面

图片列表

添加图片

编辑图片:

提示信息:

这个强,我们公司上次给客户做的一个网站也是用的这个WEB图片上传控件。

引用楼主 的回复:
像discuz发帖那样,一次上传多个图片,然后将所有上传的图片路径插入到编辑器中。

有没有?

网上有一个仿QQ相册上传插件的程序。
Xproer.ImageUploader: http://www.cnblogs.com/xproer/archive/2010/08/09/1796077.html
主界面

图片列表

添加图片

编辑图片:

提示信息:

这个用户体验不错。现在的互联网产品做的也越来越好了,用户使用起来也越来越方便了。

引用楼主 的回复:
像discuz发帖那样,一次上传多个图片,然后将所有上传的图片路径插入到编辑器中。

有没有?

网上有一个仿QQ相册上传插件的程序。
Web图片批量上传控件(Xproer.ImageUploader): http://www.cnblogs.com/xproer/archive/2010/08/09/1796077.html
主界面

图片列表

添加图片

编辑图片:

提示信息:

整合代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>	<title>Web图片批量上传控件演示页面</title>	<script type="text/javascript" src="ImageUploader/ImageUploader.js" charset="utf-8"></script></head><body>	<div><a href="asp.net/images.aspx">查看上传的图片</a></div>	<div id="msg"></div>	<script language="javascript" type="text/javascript">		var imgUploader = new ImageUploader();		imgUploader.Config["PostUrl"] = "http://localhost/php/upload.php";		window.onload = function()		{			imgUploader.Init();		}	</script></body></html>
ログイン後にコピー

这个真心牛X~!!~收下鸟。刚接了一个做网站的单子,正好用上。~!

我去,4楼的那个插件大家别用!!!!!!!!!!!!!!!
本地可以使用,但是项目放到互联网使用时,就会提示你IP未授权,不让你继续使用,原来这插件是个收费版的!!!而且价钱还不是一般的贵!!!我瞎了眼了,下下来之后自己改了好多代码才弄好的图片上传,放到网上去之后就用不起来了!!!为什么用的时候不告诉我是收费的!!!这个公司就是贱!!!不让用拉倒,去别别的插件用!!!

我去,4楼的那个插件大家别用!!!!!!!!!!!!!!!
本地可以使用,但是项目放到互联网使用时,就会提示你IP未授权,不让你继续使用,原来这插件是个收费版的!!!而且价钱还不是一般的贵!!!我瞎了眼了,下下来之后自己改了好多代码才弄好的图片上传,放到网上去之后就用不起来了!!!为什么用的时候不告诉我是收费的!!!这个公司就是贱!!!不让用拉倒,去别别的插件用!!!
其实收费还可以理解。问题是这也太贵了。我也是改了很多代码,好不容易和自己的站点融合了,放到服务器上,提示未授权,问了该公司客服,才知道要收费的。真坑。

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