1. php批量上传图片同一个id
是不是id固定了,没有增长,你可以使用当前时间作为id,time()一下,这样每上传成功一个都有一个不同的id了不会出现冲突!
2. php一次上传多张图片并生成相应的缩略图的代码
这里压缩为61x61
<?php
/*
作者:遥远的期待
QQ:15624575
个人主页:www.phptogether.com www.d1php.info
*/
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);
imageresampled($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);
imageresampled($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>
3. PHP怎样批量上传图片到数据库并完整的建立数据库
<!--HTMLSOURCE-->
<inputtype="file"name="upload[]"/>
<inputtype="file"name="upload[]"/>
<inputtype="file"name="upload[]"/>
...
<inputtype="file"name="upload[]"/>
//PHPSOURCE
<?php
foreach($_FILE['upload']AS$k=>$v)
{
print_r($v);//输出后你就明白了
}
?>
4. php实现批量上传菜单 和相对应菜品图片
给你提供个解决方法:
+ 将菜单和对应的菜品图片的名称存储在EXCEL中,然后上传Excel,写入数据库
+ 接下来就是数据库读取的操作了,对应的图片上传到对应的文件夹即可
+ 这样子下来,菜品有了,图片也有了,你就可以任意操作了
还有一种方法是:
+ 菜名和图片按照一定的格式编写保存在txt的文档中,或者是textarea中
+ 通过正则处理这些内容,再写入数据库,含图片的名称
+ 然后你又可以愉快的读取数据库的内容来进行你想要的操作了..
5. PHP上传图片代码
兄弟用这个吧
我不知道你的数据库是什么样的就随便弄了一个:
希望对你有用,名字采用时间的格式命名的:
<?
include("../inc.php");
function getname($exname){
$dir = "upload/";
//目录名,可以自己改
$i=1;
//文件的名称前缀,本例默认从1开始依次加加
$showtime=date("YmdHis");
if(!is_dir($dir)){
mkdir($dir,0777);
//如果不存在此目录,则创建,请保证您有相应的权限
}
while(true){
if(!is_file($dir.$showtime.".".$exname)){
$name=$showtime.".".$exname;
break;
}
}
return $dir.$name;
}
$max=$_POST["MAX_FILE_SIZE"];
if($max<($_FILES['upfile']['size']))
echo "<script> alert('文件大于2000000b!');history.back();</script>";
$exname=strtolower(substr($_FILES['upfile']['name'],(strrpos($_FILES['upfile']['name'],'.')+1)));//返回文件后缀名
if($exname=="jpg"||$exname=="bmp"||$exname=="jpeg"||$exname=="gif"){
$uploadfile = getname($exname);
$add=$uploadfile;
$name=$_POST["name"];
$time=$_POST["time"];
if($name=="")
echo "<script> alert('标题不能为空!');history.back();</script>";
else
{
$sql = "INSERT INTO `web`.`pto` (
`ID` ,
`name` ,
`add` ,
`time`
)
VALUES (
null, '".$name."', '".$add."', '".$time."'
)";
mysql_query($sql) or die("写失败");
if (move_uploaded_file($_FILES['upfile']['tmp_name'], $uploadfile))
{
echo "<script> alert('文件上传成功!');window.location.href('pto.php');</script>";
}else {
echo "<script> alert('文件上传失败!');history.back();</script>";
}
} }
else
echo "<script> alert('文件格式错误!');history.back();</script>";
?>
6. PHP上传多张图片代码
<?php } function news(){?>
<form action="?type=proctNews" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td> </td></tr><tr><td height="30"><label>名称A:
<input name="title" type="text" id="title" size="30" />
</label></td></tr><tr><td height="30"><label>名称B:
<input name="title_en" type="text" id="title_en" size="30" />
</label></td></tr><tr><td height="30"><label>分类:
<select name="ptype" id="ptype">
<?php $conn = new db_conn();
$sql = "SELECT * FROM proct_type";
$result = $conn->db_query($sql);
while($rows=mysql_fetch_assoc($result)){?>
<option value="<?php echo $rows['id']; ?>"><?php echo $rows['name']." / ".$rows['name_en']; ?></option>
<?php } $conn->db_close(); ?>
</select>
</label></td></tr><tr><td height="30"><label>图片:<br>
<input name="file[]" type="file" size="50" /><br>
<input name="file[]" type="file" size="50" /><br>
<input name="file[]" type="file" size="50" /><br>
<input name="file[]" type="file" size="50" /><br>
<input name="file[]" type="file" size="50" /><br>
<input name="file[]" type="file" size="50" /><br>
</label></td></tr><tr><td>说明A:
<input name="text" type="text" id="text" size="30" /></td>
</tr><tr><td>说明B:
<input name="en_text" type="text" id="en_text" size="30" /></td>
</tr><tr><td align="center"><label>
<input type="submit" name="button" id="button" value="提交" />
</label></td></tr><tr><td> </td></tr></table></form>
<?php }function proctNews(){
extract($_POST);
$upimage = "upimage/".date("Ym")."/";//上传位置
if(!is_dir($upimage)){
mkdir($upimage); }
$filenum=count($_FILES['file']['tmp_name']);
for($i=0;$i<$filenum;$i++){
$file = "";
if(is_uploaded_file($_FILES['file']['tmp_name'][$i])){//是否用POST上传
if($_FILES['file']['type'][$i] != ("image/jpeg" || "image/pjpeg")){
die(printTop("只能上传jpg图像!")); }
$im = imagecreatefromjpeg($_FILES['file']['tmp_name'][$i]);
$file = $upimage.date("YmdHis").rand(1000,9999);
$w = imagesx($im);
$h = imagesy($im);
if($w > 800 || $h > 800){
ResizeImage($im,800,800,$file.".jpg");
}else{ move_uploaded_file($_FILES['file']['tmp_name'][$i],$file.".jpg");}
//以下为增加行
//设置水印类型 1字符串 2图片 请自行设置
$watertype=1;
//设置水印字符串 请自行设置
$waterstring="MY hand MY mouth";
//设置水印图片名 请自行设置
$waterimage="water.gif";
$destination=$file.".jpg";
$image_size = getimagesize($destination);
$iinfo=getimagesize($destination,$iinfo);
$nimage=imagecreatetruecolor($image_size[0],$image_size[1]);
$white=imagecolorallocate($nimage,255,255,255);
$black=imagecolorallocate($nimage,0,0,0);
$red=imagecolorallocate($nimage,255,0,0);
imagefill($nimage,0,0,$white);
$simage =imagecreatefromjpeg($destination);
image($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);
imagefilledrectangle($nimage,1,$image_size[1]-15,120,$image_size[1],$white);
switch($watertype)
{
case 1: //加水印字符串
imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);
break;
case 2: //加水印图片
$simage1 =imagecreatefromgif("xplore.gif");
image($nimage,$simage1,0,0,0,0,85,15);
imagedestroy($simage1);
break;
}
imagejpeg($nimage, $destination);
imagedestroy($nimage);
imagedestroy($simage);
//以上为增加行//
ResizeImage($im,130,130,$file."n.jpg");}
$date = date("Y-m-d H:i:s");
$conn = new db_conn();
$sql = "INSERT INTO proct (ptype,title,title_en,image,text,text_en,date) VALUES ($ptype,'$title','$title_en','$file','$text','$text_en','$date')";
$result = $conn->db_query($sql);
if($result){
echo printTop("添加成功!");}else{
echo printTop("添加失败!");}
$conn->db_close();}
}
function types(){?>
7. 菜鸟一只,求PHP批量上传图片的整个代码。
这是我写的图片批量上传的类:你直接调用就行了:
<?php
function upload($fileName,$filePath)
{
//判断该文件是否是用户根据POST方式提交到服务器的上传文件
foreach($_FILES[$fileName]['tmp_name'] as $k=>$v)
{
if($_FILES[$fileName]['name'][$k]!="")
{
$result=check($_FILES[$fileName]['size'][$k],$_FILES[$fileName]['type'][$k],$_FILES[$fileName]['name'][$k]);
if($result['error']==1)
{
echo $result['msg']."<br>";
echo "出错文件:".$result['name']."<br>";
}
else
{
$arrTT=explode(".",$_FILES[$fileName]['name'][$k]);
$extName=$arrTT[count($arrTT)-1];
$NewName=sha1(microtime()).".".$extName;
if(move_uploaded_file($v,$filePath.$NewName));
$arrWW[]=$NewName;
}
}
}
return $arrWW;
}
function check($size,$types,$name)
{
if($size>=5242880)
{
$result['msg']='文件过大!';
$result['error']=1;
$result['name']=$name;
}
$arrType=array('image/pjpeg','image/gif','image/x-png','audio/mp3','application/msword','application/vnd.ms_excel','application/octet-stream','application/vnd.ms-powerpoint');
if(!in_array($types,$arrType))
{
$result['msg']='文件类型不匹配!';
$result['error']=1;
$result['name']=$name;
}
return $result;
}
?>
其实,有很多php的图片上传的类,你可以去下载几个,看看怎么调用就行了
8. php 批量上传图片
每增加一个上传框,他的name属性要一样的,都是name="file[]"
这样,php接收到后,就是一个多维数组了,然后你遍历这个数组,进行图片上传处理即可
比如:
$File = $_FILES['file'];
foreach ( $File as $file ){
这里就和你上传单张图片一样的写法了,只不过,变量是$file了
比如图片大小就是:
$file['size']
}
说白了,就是多了一个foreach循环遍历而已
9. php上传图片代码
等下,只是上传?那么简单,不用写到数据库么?
给个反映啊,不然我怎么帮你写。.....
好啦号啦,我写了:
<title>图片上传</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
图片上传:
<label>
<input type="file" name="file" id="file" />
</label>
<label>
<input type="submit" name="button" id="button" value="上传" />
</label>
</form>
<?php
if(isset($_POST['button']))//检测按下了上传按钮
{
$file=$_FILES['file']['tmp_name'];//$_FILES是二维数组,file是文件;名,tmp_name是固定的,是上传到系统的位置
$name=date("Ymdgid").'.jpg';//上传以后,文件的新名字,用时间来做名字
$=($file,"photo/$name");//函数,是把文件拷贝到站点下的photo文件夹中
if($)//如果拷贝成功
echo '上传成功';
else
echo '上传失败';
}
?>
</body>
</html>
10. PHP单张上传图片的可以改成批量上传的吗
一般的WEB方式文件上传只能使用FileUpload控件进行一个文件一个文件的进行上传,就算是批量上传,也要把文件一个一个的添加到页面,无法如windows程序一样,一次选择多个文件进行批量上传。这样在某些应用上就显得很不人性化,有时候客户希望能够一次选择很多文件,然后让系统把选择的文件全部上传。
这里,就将针对这个问题提出一个比较完美的解决方案,利用的SwfUpload组件,让客户一次选择多个文件,然后将选择的文件上传到服务器上。
关于SWFUpload的一些说明:
1) SWFUpload使用一个隐藏的Flash影片来控制文件的选择和上传。
2) JavaScript用来激活文件选择对话框。此文件选择对话框是可以设置允许用户选择一个单独的文件或者是多个文件。 选择的的文件类型也是可以被限制的,因此用户只能选择指定的适当的文件,例如*.jgp;*.gif。
3) 当选定文件以后,每个文件都会被验证和处理。当Flash上传文件的时候,由开发人员预定义的Javascript事件会被定时触发以便来更新页面中的UI,同时还提供上传状态和错误信息。
4) 选定的文件的上传和它所在页面、表单是独立的。每个文件都是单独上传的,这就保证了服务端脚本能够在一个时间点更容易地处理单个文件。虽然Flash提供了上传服务,但是页面并不会提交或者重新载入。相比于标准的HTML Form,SWFUpload的使用方式更像是AJAX程序,页面中的Form会和FLASH控制的文件上传单独处理。
具体信息可以访问swfupload官方网站:http://www.swfupload.org/