本文目录一览:
- 1、php一次上传多张图片并生成相应的缩略图的代码?
- 2、php怎么一个file上传多张图片?我这样自能上传一张图片,而且提交时没有图片回出错,求大神指点。
- 3、php怎么一个file上传多张图片?????????
- 4、php当中,如何利用files循环一次上传多张图片!!
- 5、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
自己对比哇,管家要把数组处理好