松鼠的博客

导航

php批量上传大文件,php实现批量上传图片的技巧

我们在很多时候并不是上传一张图片就可以了需要同时上传N张图片,这个时候该怎么办了?我这里以前写了个例程大家看看,或许可以启发思路!

php提交图片页面程序部分,可以实现动态显示图片的数量:

enctype=”multipart/form-data” method=”post” name=”Form1″

id=”Form1″>

function tbladdrow()

{

var i=lines.rows.length ;

var row = Table1.insertRow(Table1.rows.length);

var col = row.insertCell(0);

col.innerHTML = “

id=imgfile["+i+"] type=’file’ name=imgfile["+i+"]

size=’50′>”;

}

function tbladdrows(items)

{

for( i = 1 ; i <= items ; i++)

{

tbladdrow();

}

}

function delrow()

{

if(lines.rows.length==0)

{

return false ;

}

lines.deleteRow();

}

cellspacing=”1″ bgcolor=”#CCCCCC” id=”from”>

bgcolor=”#FFFFFF”>

bgcolor=”#FFFFFF”>

cellspacing=”0″ width=”60%”>

value=”加一张” οnclick=”tbladdrows(1);” class=”inputbut”

>

type=”button” class=”inputbut” value=”删一张”

LANGUAGE=javascript οnclick=”return delrow()”>

bgcolor=”#FFFFFF”>

name=”Submit” value=” 上传图片

” type=”submit” class=”inputbut”

/>

php图片上传处理页面:

if(!$_FILES['imgfile']){

ShowMsg(“图片选择不能为空!”,-1,0);

exit();

}

$img_dir = “../../upload/”;

// …… html 显示上传界面

$uploaded = 0;

$unuploaded = 0;

//只允许20张图片上传

for ($i=0; $i<=20; $i++)

{

//获取当前图片的信息

$is_file = $_FILES['imgfile']['name'][$i];

//如果当前图片不为空

if (!empty($is_file))

{

//把当前图片的信息存储到变量里

$result[$i] = ”

”. $_FILES['imgfile']['name'][$i]

.”

”.

round($_FILES['imgfile']['size'][$i]/1024, 2)

.”K

”. $_FILES['imgfile']['type'][$i]

.”

”;

// 判断上传的图片的类型是不是jpg,gif,png,bmp中的一种,同时判断是否上传成功

if (

$_FILES['imgfile']['type'][$i] ==

“image/pjpeg” ||

$_FILES['imgfile']['type'][$i] ==

“image/gif” ||

$_FILES['imgfile']['type'][$i] ==

“image/x-png” ||

$_FILES['imgfile']['type'][$i] == “image/bmp”

)

{

//如果上传的文件没有在服务器上存在

if (!file_exists($img_dir . $_FILES['imgfile']['name'][$i]))

{

//把图片文件从临时文件夹中转移到我们指定上传的目录中

move_uploaded_file($_FILES['imgfile']['tmp_name'][$i], $img_dir .

$_FILES['imgfile']['name'][$i]);

$result[$i] .= “成功”;

$db->query(“INSERT INTO itempic (path,itemid) VALUES

(‘/upload/”.$_FILES['imgfile']['name'][$i].”‘,”.$_POST['itemid'].”)”);

$uploaded++;

}

else //如果文件已经在服务器上存在

{

$result[$i] .= “

color=red>文件已存在

”;

$unuploaded++;

continue;

}

}

else

{

$result[$i] .= “

color=red>失败

”;

$unuploaded++;

}

$result[$i] .=

”;

} //end if

} // end for

// 如果没有选择任何图片

if (empty($result))

{

echo”错误信息,没有选择任何图片。”;

exit();

}

// 显示所有上传后的结果

echo ”

class=table width=400 align=left>

align=center>

文件名大小类型上传结果

“;

foreach( $result as $value)

{

echo $value;

}

echo “

共上传 ” . ($uploaded +

$unuploaded) . “, 成功: $uploaded, 失败:

color=red>

$unuploaded

[

 

title='继续上传'>继续上传

]

“;

?>

 

参考文章:http://blog.ncmem.com/wordpress/2023/11/10/php%e6%89%b9%e9%87%8f%e4%b8%8a%e4%bc%a0%e5%a4%a7%e6%96%87%e4%bb%b6php%e5%ae%9e%e7%8e%b0%e6%89%b9%e9%87%8f%e4%b8%8a%e4%bc%a0%e5%9b%be%e7%89%87%e7%9a%84%e6%8a%80%e5%b7%a7/

欢迎入群一起讨论

 

 

posted on 2023-11-10 15:50  Xproer-松鼠  阅读(32)  评论(0编辑  收藏  举报