1. 程式人生 > >PHP批量儲存圖片

PHP批量儲存圖片

關於這個問題網上也有回答,我只是把我在工作中用到的程式碼分解出來,供需要的朋友使用。以下程式碼都已經經過測試,所以沒有任何問題。有問題請加QQ:1127173874

第一部分 資料庫表結構

create table sys_houseimg
(
 id int identity(1,1) primary key not null,
 houseid                          not null, --房源ID
 img                                  null, --圖片地址
 cname                                null, --圖片名稱
 fl                                   null, -圖片分類(1、小區圖 2、戶型圖 3、效果圖) 
)
go

第二部分 JS程式碼

/******************動態新增檔案*******************/
function addrow1()
{
var i=lines.rows.length ;
var row = biaoge1.insertRow(biaoge1.rows.length);
var col = row.insertCell(0);
col.innerHTML = "<INPUT class='inputbut' id=img1file["+i+"] type='file' name=img1file["+i+"] size='30'>&nbsp;圖片標題:<input   type=text   name=cname1s[] id=cname1s[]><a href='javascript:;' onclick=\"delrow1('SignItem" + i + "')\">【刪除】</a>";
}
function tbladdrow1(items)
{
for( i = 1 ; i <= items ; i++)
{
addrow1();
}
}
function delrow1(rowid)
{
if(lines.rows.length==0)
{
return false ;
}
lines.deleteRow(rowid); }

======================================================HTML程式碼顯示

<TABLE id="biaoge2" cellpadding="0" cellspacing="0" border="0"  width="100%">
<tbody id="lines2" name="lines2">
</tbody>
</TABLE><br /><INPUT id="addrow" name="addrow" type="button" value="加一張" onclick="addrow2();" class="redbutton">
&nbsp;(最多10張圖片,上傳兩張或多張圖片,即可獲得<img src="../../image/duotu.jpg" border="0" />標識,助您快速出租。)

第三部分 儲存圖片的程式碼

//=====================================批量新增小區圖
$img_dir = "../upfiles/";
$uploaded2 = 0;
$unuploaded2 = 0;
$uploaded3 = 0;
$unuploaded3 = 0;
for ($j=0; $j<=10; $j++) //$j<=10,說明可以上傳10張圖片
{
//獲取當前圖片的資訊
$is_file2 = $_FILES['img1file']['name'][$j];
$filename2=$_FILES['img1file']["tmp_name"][$j];
$pinfo2=pathinfo($_FILES['img1file']["name"][$j]);
$ftype2=$pinfo2[extension];
$destination2 =$j.time().".".$ftype2;


  if (!empty($is_file2))
  {
  // 判斷上傳的圖片的型別是不是jpg,gif,png,bmp中的一種,同時判斷是否上傳成功
  if (
  
  $_FILES['img1file']['type'][$j] == "image/pjpeg"   ||
  $_FILES['img1file']['type'][$j] == "image/gif"     ||
  $_FILES['img1file']['type'][$j] == "image/x-png"   ||
  $_FILES['img1file']['type'][$j] == "image/bmp"
  )
  {
 if (!file_exists($destination2))
 {
 move_uploaded_file($filename2,$img_dir.$destination2);
 if(empty($_POST['cname1s'][$j]))
 {
  $cname2s=$is_file2;
 }
 else
 {
  $cname2s=$_POST['cname1s'][$j];
 }
 $ss2="insert into sys_houseimg(houseid,img,cname,fl)values(".$houseid.",'../upfiles/".$destination2."','".$cname2s."',2)";
 $db->query($ss2);
 $uploaded2++;
 }
  }
}
}此方法沒有用到圖片上傳類