欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

关于PHP的多图下传和处理,麻烦高手写一段代码供研习

程序员文章站 2024-02-06 08:46:34
...
关于PHP的多图上传和处理,麻烦高手写一段代码供研习
需求如下:
一个产品名下面有4张图片。图片上传到当前路径的“upimg”文件夹中,图片路径要存到mysql对应的字段里。
所以我在做产品资料填入的时候,针对同一个产品名,必须上传4个图片。

---------数据库结构:
数据库名:Atest,
表名:prodcut,
表对应的字段:pname,pic1,pic2,pic3,pic4...(均为char类型)

--------HTML的表单我如此设计:
HTML code

产品名称:
产品图片1:
产品图片2:
产品图片3:
产品图片4:



需要注意的几点:
1,在数据库里,一个产品名+四个图片路径组成一条数据,而不是存为多条数据。
2,必须对图片文件重命名,否则会出现重复;
3,上传文件前要检测图片格式是否为jpg,bmp,gif或者png,否则不上传;
4,上传图片的体积不能超过2M;即:name="MAX_FILE_SIZE" value="2000000"

麻烦补充一段代码:upload.php,谢谢!

------解决方案--------------------
我是这么解决的:
一张成功以后,把上传的类重命名,一个图片用一个类,4个文件就用四个类。。。。。成功实现了
我这是最笨的方法。等高手出用数组循环实现的方法中......



单张图片上传的类:uploadclass.php(对应多图片上传时,对其改名,并对其中的代码段做相应变更,即可多次引用,多张上传)

PHP code

return and try again?click me";
exit;
}
else{
$filename=explode(".",$_FILES['pic']['name']);//同上,pic需要对应改名
do
{
$filename[0]=random(10); //用到函数random时,一样要对应改名
$name=implode(".",$filename);
//$name1=$name.".Mcncc";
$uploadfile=$uploaddir.$name;//这个$uploadfile就是你要插入数据库相应字段的图片路径,需要相应做变化
}

while(file_exists($uploadfile));//函数名需要对应最变更

if (move_uploaded_file($_FILES['pic']['tmp_name'],$uploadfile))//PIC需要对应最变更
{
if(is_uploaded_file($_FILES['pic']['tmp_name']))//pic需要对应做变更
{

echo "the Images Upload failed!";
}
else
{
echo "
Your file has been uploaded:

关于PHP的多图下传和处理,麻烦高手写一段代码供研习
";//src=后面也要对应最变更 echo "
Continue to upload
"; } } } ?>
------解决方案--------------------
一个测试例
PHP code
 

文件1: