您的位置:

php上传多张图片demo,php上传多张图片到目录,并分别存储路径到数据库

本文目录一览:

php一次上传多张图片并生成相应的缩略图的代码?

这里压缩为61x61

?php

/*

作者:遥远的期待

QQ:15624575

个人主页:

*/

function upload_multi($path,$photo,$i){

$uploaddir = './'.$path;//文件存放目录

if(!file_exists($uploaddir))//如果目录不存在就新建

$uploaddir=mkdir($uploaddir);

$piece = explode('.',$photo['name'][$i]);

$uploadfile = $uploaddir . '/'.md5($piece[0]).'.'.$piece[1];

$result = move_uploaded_file($photo['tmp_name'][$i], $uploadfile);

if(!$result){

exit('上传失败');

}

list($width_orig, $height_orig) = getimagesize($uploadfile);

if ($width_orig!=61||$height_orig!=61) {

$image_p = imagecreatetruecolor(61, 61);

if($piece[1]=="jpg"||$piece[1]=="jpeg"){

$image = imagecreatefromjpeg($uploadfile);

imagecopyresampled($image_p, $image, 0, 0, 0, 0, 61, 61, $width_orig, $height_orig);

imagejpeg($image_p,$uploadfile);

}else if($piece[1]=="gif"){

$image = imagecreatefromgif($uploadfile);

imagecopyresampled($image_p, $image, 0, 0, 0, 0, 61, 61, $width_orig, $height_orig);

imagegif($image_p,$uploadfile);

}

}

return basename($uploadfile);

}

if($_POST['tijiao']){

extract($_POST);

$i=0;

foreach ($_FILES["pictures"]["error"] as $key = $error) {

if ($error == UPLOAD_ERR_OK) {

upload_multi($email,$_FILES["pictures"],$i);

}

$i++;

}

}

?

script language="javascript"

function go_up(){

document.getElementById('new_up').innerHTML+='input type="file" name="pictures[]" /br';

}

/script

form action="php.php" method="post" enctype="multipart/form-data"

p多图片上传br

input type="text" name="username" /br

input type="text" name="email" /br

input type="file" name="pictures[]" /br

div id="new_up"/div

input type="button"" name="add_img" value="新增上传" onclick="go_up()"/br

input type="submit" value="Send" name="tijiao"/br

/p

/form

php怎么一个file上传多张图片?我这样自能上传一张图片,而且提交时没有图片回出错,求大神指点。

lt;?php

foreach ($_FILES["pictures"]["error"] as $key =gt; $error) {

nbsp;nbsp;nbsp;nbsp;if ($error == UPLOAD_ERR_OK) {

nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;$tmp_name = $_FILES["pictures"]["tmp_name"][$key];

nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;$name = $_FILES["pictures"]["name"][$key];

nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;move_uploaded_file($tmp_name, "data/$name");

nbsp;nbsp;nbsp;nbsp;}

}

?gt;

input type="file" name="img[]"/

input type="file" name="img[]"/

然后php获取文件信息的时候

$_FILES["img"]["name"][0];//第一张图片名字

$_FILES["img"]["name"][1];//第2张图片名字

php怎么一个file上传多张图片?????????

?php /** *类说明: * 使用new关键字实像化类,类中有两个公用方法, * 方法create_input创建表单按键,请在相应的表单处引用该方法就可创建上传表单的input按键 * 方法get_upfile()用于处理上传文件 * 该类由 游天小虾 制作,网页制作交流群:69574955 * **/ class upfile { private $name = 'filename';//input表单名 private $namecount = 2;//设置上传文件的个数 private $type = array('jpg','jpeg','gif','png');//文件格式 private $size = '1024';//文件大小单位kb private $upname = '';//上传文件信息 private $updir = 'upfile/'; private $movename = '';//移动后的文件名 private $uparrs = array();//多文件上传数组 private $error_type =0;//文件上传产生的错误 /** * 创建文件上传的表单控件 * */ public function create_input(){ if(floor($this-namecount) == 1){ $input = "pinput type='file' id=".$this-name." name=".$this-name."/p"; }else{ for($i=0;$i($this-namecount);$i++){ $input .= "pinput type='file' id='".$this-name."[]' name='".$this-name."[]'/p"; } } echo "$input"; } /** * 初始文件信息$file = $_FILES['file']['tem_name'] * **/ private function get_part(){ if($this-namecount == 1){ //判断是否是多文件上传 if($_FILES[$this-name]['tmp_name']){ $this-upname = $_FILES[$this-name]; }else{ $this-error_type += 100; //文件信息错误观点 100; } }else{ if($_FILES[$this-name]){ $this-uparrs = $this-more_updata($_FILES[$this-name],$this-namecount);//对$_FILES取得的文件上信息重写 }else{ $this-error_type += 100; //文件信息错误观点 100; } } } /** * 多文件上传时,数组重写 * **/ private function more_updata($arrs,$num){ for($i=0;$i$num;$i++){ $data[] =array('name'=$arrs[name][$i],'type'=$arrs[type][$i],'tmp_name'=$arrs[tmp_name][$i],'error'=$arrs['error'][$i],'size'=$arrs['size'][$i]); } return $data; } /** * 判断上传文件大小 * **/ private function chck_size(){ if($this-upname['size']*1000 $this-size){ $this-error_type += 300; //文件信息错误观点 300; } } /** * 判断上传文件的类型 * **/ private function chck_type(){ if(!in_array($this-get_suffix($this-upname['name']),$this-type)){ $this-error_type += 500; //文件信息错误观点 500; } } /** * 格式化上传后的文件名 * **/ private function chck_name(){ $this-movename = date(Ymd).substr(md5(rand(0,date(Hms))),0,6)."."; $this-movename .= $this-get_suffix($this-upname['name']); } /** * 移动文件 * **/ private function move_file(){ if($this-updir){ if(!move_uploaded_file($this-upname['tmp_name'],$this-updir.$this-movename)){ $this-error_type += 700; //文件信息错误观点 700; } }else{ mkdir($this-updir,"w"); chmod($this-updir,777); if(!move_uploaded_file($this-upname['tmp_name'],$this-updir.$this-movename)){ $this-error_type += 700; //文件信息错误观点 700; } } } /** * 取得文件的后缀名 * **/ private function get_suffix($filename){//取得文件后缀名 $part = pathinfo($filename); $suffix = $part['extension']; return $suffix; } /** * 文件上传处理 * **/ public function get_upfile() {//主上传方法 if(floor($this-namecount) == 1){ $this-get_part(); $this-chck_name(); $this-chck_type(); $this-chck_size(); if($this-error_type ==0){$this-move_file();} if($this-error_type ==0){ echo "$this-movename 上传成功 br"; }else{ echo "$this-movename 上传失败,错误: $this-error_type br"; $this-error_type=0; }; }else{ $this-get_part(); for($i=0;$ifloor($this-namecount);$i++){ $this-upname = ($this-uparrs[$i]); $this-chck_name(); $this-chck_type(); $this-chck_size(); if($this-error_type ==0){$this-move_file();} if($this-error_type ==0){ echo "$this-movename 上传成功 br"; }else{ echo "$this-movename 上传失败,错误: $this-error_type br"; $this-error_type=0; }; } } } } $up = new upfile(); if($_POST['t1']){ $up-get_upfile(); } ? form name='f1' enctype = multipart/form-data action="" method="post" input type='text' name='t1'br ?php $up-create_input(); ? input type='submit' value='上传' /from 刚不久写的一个文件上传的类!上面已经有说明了,你参考一下,不明白的话,可以问我,或者加入我们的QQ群讨论!

php当中,如何利用files循环一次上传多张图片!!

input type=file name="file[]"

input type=file name="file[]"

input type=file name="file[]"

这样就可以无限上传了

PHP多图片上传问题,不管我选择几个图片进行上传,但是,只能传上去最后添加的一张

?php

$db="editor";

$user="admin";

$pas="admin";

$conn=mysql_connect("localhost",$user,$pas) or die("连接错误");

mysql_select_db($db,$conn);

mysql_query("set names 'GB2312'");

$nba=$_FILES["bai"]["name"];

$tmpname=$_FILES["bai"]["tmp_name"];

$size=$_FILES["bai"]["size"];

$type=$_FILES["bai"]["type"];

$error=$_FILES["bai"]["error"];

if (file_exists("../upload/".$nba )){

echo "文件已存在";

}else {

foreach ($error as $key=$val){

if($val==0){

move_uploaded_file($tmpname[$key],"../upload/" .rand().$nba[$key]);

$imgpath="../upload/" .rand().$nba[$key];

echo $imgpath;

$sql1 = "INSERT INTO news (title, content,imgpath) VALUES ('a','b','$imgpath')";

echo $nba[$key]."--------".$tmpname[$key]."----------".$size[$key]."--------------".$type[$key];

echo "br";

}

else {

echo "wrong!";}

}

}

?

html

body

form name="bai" id="bai" method="POST" action="wjsc1.php" enctype="multipart/form-data"

上传文件input type="file" name="bai[]" id="bai" /

br

input type="file" name="bai[]" id="bai" /

br

input type="file" name="bai[]" id="bai" /

br

span style="magrin:0px;padding:0px"input type="image" name="img"/ src="images/submit.gif"/span

/form

/body

/html

自己对比哇,管家要把数组处理好