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/