关于一次上传多个图片的插件有没有?
有没有?
回复讨论(解决方案)
找个JS批量上传插件,主要是美观而已,技术角度还是个表单。
从http协议实现角度,下面的php代码是一个活生生的协议细节:
$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
在学习PHP中可能会遇到PHP上传多张图片问题,上传图片需要对图片格式的校验,保证上传的一定是图片,防止上传其他文件到服务器。多图片上传基本实现方法是使用数组的形式,把所有的图片提交个一个数组,对数组的元素进行一个个循环的处理。下面是PHP多图片上传的代码示例:
1. 2.//图片目录
3.$img_dir="../upload/";
4.//……html显示上传界面
5./*图片上传处理*/
6.//把图片传到服务器
7.//初始化变量
8.$uploaded=0;
9.$unuploaded=0;
10.//只允许五张图片上传
11.for($i=0;$i 12.{
13.//获取当前图片的信息
14.$is_file=$_FILES['imgfile']['name'][$i];
15.//如果当前图片不为空
16.if(!empty($is_file))
17.{
18.//把当前图片的信息存储到变量里
19.$result[$i]="
20.
21.
22.
23.
24.
25.//判断上传的图片的类型是不是jpg,gif,png,bmp中的一种,同时判断是否上传成功
26.if(
27.$_FILES['imgfile']['type'][$i]=="image/pjpeg"||
28.$_FILES['imgfile']['type'][$i]=="image/gif"||
29.$_FILES['imgfile']['type'][$i]=="image/x-png"||
30.$_FILES['imgfile']['type'][$i]=="image/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;
47.}
48.}
49.else
50.{
51.$result[$i].="
52.$unuploaded++;
53.}
54.$result[$i].="
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
主界面
图片列表
添加图片
编辑图片:
提示信息:
整合代码
Web图片批量上传控件演示页面
这个真心牛X~!!~收下鸟。刚接了一个做网站的单子,正好用上。~!
我去,4楼的那个插件大家别用!!!!!!!!!!!!!!!
本地可以使用,但是项目放到互联网使用时,就会提示你IP未授权,不让你继续使用,原来这插件是个收费版的!!!而且价钱还不是一般的贵!!!我瞎了眼了,下下来之后自己改了好多代码才弄好的图片上传,放到网上去之后就用不起来了!!!为什么用的时候不告诉我是收费的!!!这个公司就是贱!!!不让用拉倒,去别别的插件用!!!
我去,4楼的那个插件大家别用!!!!!!!!!!!!!!!
本地可以使用,但是项目放到互联网使用时,就会提示你IP未授权,不让你继续使用,原来这插件是个收费版的!!!而且价钱还不是一般的贵!!!我瞎了眼了,下下来之后自己改了好多代码才弄好的图片上传,放到网上去之后就用不起来了!!!为什么用的时候不告诉我是收费的!!!这个公司就是贱!!!不让用拉倒,去别别的插件用!!!
其实收费还可以理解。问题是这也太贵了。我也是改了很多代码,好不容易和自己的站点融合了,放到服务器上,提示未授权,问了该公司客服,才知道要收费的。真坑。
上一篇: php操作memcache缓存基础方法
下一篇: PHP内存缓存功能memcached示例