关于一次上传多个图片的插件有没有?
像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
在学习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<=5;$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
主界面
图片列表
添加图片
编辑图片:
提示信息:
整合代码
<!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未授权,不让你继续使用,原来这插件是个收费版的!!!而且价钱还不是一般的贵!!!我瞎了眼了,下下来之后自己改了好多代码才弄好的图片上传,放到网上去之后就用不起来了!!!为什么用的时候不告诉我是收费的!!!这个公司就是贱!!!不让用拉倒,去别别的插件用!!!
其实收费还可以理解。问题是这也太贵了。我也是改了很多代码,好不容易和自己的站点融合了,放到服务器上,提示未授权,问了该公司客服,才知道要收费的。真坑。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Alipay Php ...

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Le détournement de la session peut être réalisé via les étapes suivantes: 1. Obtenez l'ID de session, 2. Utilisez l'ID de session, 3. Gardez la session active. Les méthodes pour empêcher le détournement de la session en PHP incluent: 1. Utilisez la fonction Session_RegeReate_id () pour régénérer l'ID de session, 2. Stocker les données de session via la base de données, 3. Assurez-vous que toutes les données de session sont transmises via HTTPS.

L'application du principe solide dans le développement de PHP comprend: 1. Principe de responsabilité unique (SRP): Chaque classe n'est responsable d'une seule fonction. 2. Principe ouvert et ferme (OCP): les changements sont réalisés par extension plutôt que par modification. 3. Principe de substitution de Lisch (LSP): les sous-classes peuvent remplacer les classes de base sans affecter la précision du programme. 4. Principe d'isolement d'interface (ISP): utilisez des interfaces à grain fin pour éviter les dépendances et les méthodes inutilisées. 5. Principe d'inversion de dépendance (DIP): les modules élevés et de bas niveau reposent sur l'abstraction et sont mis en œuvre par injection de dépendance.

Comment déboguer le mode CLI dans phpstorm? Lors du développement avec PHPStorm, nous devons parfois déboguer PHP en mode interface de ligne de commande (CLI) ...

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système. Chaque fois que le système redémarre, nous devons exécuter la commande suivante pour modifier les autorisations d'UnixSocket: sudo ...

Liaison statique (statique: :) implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Envoyant des données JSON à l'aide de la bibliothèque Curl de PHP dans le développement de PHP, il est souvent nécessaire d'interagir avec les API externes. L'une des façons courantes consiste à utiliser la bibliothèque Curl pour envoyer le post� ...
