當前位置:首頁 » 文件傳輸 » php上傳多圖
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

php上傳多圖

發布時間: 2022-01-25 05:58:41

『壹』 PHP 上傳多張圖片後存儲地址到MYsql資料庫怎麼做

在資料庫表中定義一個字元串類型的欄位存儲圖片路徑就可以了。

『貳』 關於PHP實現多張圖片上傳的問題

看PHP幫助手冊里關於$_FILES數組:

http://docs.php.net/manual/zh/reserved.variables.files.php

『叄』 php如何上傳多張圖片 點擊添加一張圖片就出來一個框

我剛剛做出來一個,給你看一下:
1。upload.html頁面,即先是input type=file的文件:
<html>
<head>
<title></title>
</head>
<body>
<form enctype="multipart/form-data" action="do_upload.php" method="POST">
<fieldset>
<legend>圖片上傳</legend>
第一張圖片<input name="userfile[]" type="file"><br>
第二張圖片<input name="userfile[]" type="file"><br>
第三張圖片<input name="userfile[]" type="file"><br>
第四張圖片<input name="userfile[]" type="file"><br>
第五張圖片<input name="userfile[]" type="file"><br>
<input type="submit" value="Send File">
</fieldset>
</form>
</body>
</html>

2。do_upload.php頁面,即處理多文件上傳的頁面:
<?php
//全局數組$_FILES
//$_FILES['userfile']['tmp_name']文件在web伺服器中臨時存儲的位置
//$_FILES['userfile']['name']用戶系統中的文件名稱
//$_FILES['userfile']['size']文件的位元組大小
//$_FILES['userfile']['type']文件的MIME類型,text/plain,image/gif
//$_FILES['userfile']['error']與文件上載相關的錯誤代碼
?>
<?php
for ($i=0;$i<count($_FILES['userfile']['tmp_name']);$i++)
{
$upfile=$new_folder."/".$_FILES['userfile']['name'][$i];//此處路徑換成你的
if(move_uploaded_file($_FILES['userfile']['tmp_name'][$i],$upfile)){
echo "第".($i+1)."張圖片上傳成功<br>";
}
else{
echo "第".($i+1)."張圖片上傳不了<br>";
}
}
?>

測試一下,肯定可以的。

『肆』 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>

『伍』 php 怎樣實現同時上傳多張圖片

同時上傳多張圖片有很多個意思和多種處理方法:
第一:動態添加圖片同步上傳查看地址:http://..com/link?url=17-5llw1OeRxG42g-_sbaqHNaf1WQhR_AiYRFrXNIJtoXFgAUkMs0_
第二:上傳圖片時可以一次選擇多張圖片:這個需要用flash;
第三:單個添加圖片,非同步上傳,這個需要用到一些插件來實現,jquery.form.js jquery.js

『陸』 php怎麼一個file上傳多張圖片

<?php /** *類說明: * 使用new關鍵字實像化類,類中有兩個公用方法, * 方法create_input創建表單按鍵,請在相應的表單處引用該方法就可創建上傳表單的input按鍵 * 方法get_upfile()用於處理上傳文件 * 該類由 游天小蝦 製作,網頁製作交流群:69574955 * **/ class upfile { private $name = 'filename';//input表單名 private $namecount = 2;//設置上傳文件的個數 private $type = array('jpg','jpeg','gif','png');//文件格式 private $size = '1024';//文件大小單位kb private $upname = '';//上傳文件信息 private $updir = 'upfile/'; private $movename = '';//移動後的文件名 private $uparrs = array();//多文件上傳數組 private $error_type =0;//文件上傳產生的錯誤 /** * 創建文件上傳的表單控制項 * */ public function create_input(){ if(floor($this->namecount) == 1){ $input = "<p><input type='file' id=".$this->name." name=".$this->name."></p>"; }else{ for($i=0;$i<($this->namecount);$i++){ $input .= "<p><input type='file' id='".$this->name."[]' name='".$this->name."[]'></p>"; } } echo "$input"; } /** * 初始文件信息$file = $_FILES['file']['tem_name'] * **/ private function get_part(){ if($this->namecount == 1){ //判斷是否是多文件上傳 if($_FILES[$this->name]['tmp_name']){ $this->upname = $_FILES[$this->name]; }else{ $this->error_type += 100; //文件信息錯誤觀點 100; } }else{ if($_FILES[$this->name]){ $this->uparrs = $this->more_updata($_FILES[$this->name],$this->namecount);//對$_FILES取得的文件上信息重寫 }else{ $this->error_type += 100; //文件信息錯誤觀點 100; } } } /** * 多文件上傳時,數組重寫 * **/ private function more_updata($arrs,$num){ for($i=0;$i<$num;$i++){ $data[] =array('name'=>$arrs[name][$i],'type'=>$arrs[type][$i],'tmp_name'=>$arrs[tmp_name][$i],'error'=>$arrs['error'][$i],'size'=>$arrs['size'][$i]); } return $data; } /** * 判斷上傳文件大小 * **/ private function chck_size(){ if($this->upname['size']*1000 < $this->size){ $this->error_type += 300; //文件信息錯誤觀點 300; } } /** * 判斷上傳文件的類型 * **/ private function chck_type(){ if(!in_array($this->get_suffix($this->upname['name']),$this->type)){ $this->error_type += 500; //文件信息錯誤觀點 500; } } /** * 格式化上傳後的文件名 * **/ private function chck_name(){ $this->movename = date(Ymd).substr(md5(rand(0,date(Hms))),0,6)."."; $this->movename .= $this->get_suffix($this->upname['name']); } /** * 移動文件 * **/ private function move_file(){ if($this->updir){ if(!move_uploaded_file($this->upname['tmp_name'],$this->updir.$this->movename)){ $this->error_type += 700; //文件信息錯誤觀點 700; } }else{ mkdir($this->updir,"w"); chmod($this->updir,777); if(!move_uploaded_file($this->upname['tmp_name'],$this->updir.$this->movename)){ $this->error_type += 700; //文件信息錯誤觀點 700; } } } /** * 取得文件的後綴名 * **/ private function get_suffix($filename){//取得文件後綴名 $part = pathinfo($filename); $suffix = $part['extension']; return $suffix; } /** * 文件上傳處理 * **/ public function get_upfile() {//主上傳方法 if(floor($this->namecount) == 1){ $this->get_part(); $this->chck_name(); $this->chck_type(); $this->chck_size(); if($this->error_type ==0){$this->move_file();} if($this->error_type ==0){ echo "$this->movename 上傳成功 <br>"; }else{ echo "$this->movename 上傳失敗,錯誤: $this->error_type <br>"; $this->error_type=0; }; }else{ $this->get_part(); for($i=0;$i<floor($this->namecount);$i++){ $this->upname = ($this->uparrs[$i]); $this->chck_name(); $this->chck_type(); $this->chck_size(); if($this->error_type ==0){$this->move_file();} if($this->error_type ==0){ echo "$this->movename 上傳成功 <br>"; }else{ echo "$this->movename 上傳失敗,錯誤: $this->error_type <br>"; $this->error_type=0; }; } } } } $up = new upfile(); if($_POST['t1']){ $up->get_upfile(); } ?> <form name='f1' enctype = multipart/form-data action="" method="post"> <input type='text' name='t1'><br> <?php $up->create_input(); ?> <input type='submit' value='上傳'> </from> 剛不久寫的一個文件上傳的類!上面已經有說明了,你參考一下,不明白的話,可以問我,或者加入我們的QQ群討論!

『柒』 php中上傳多張圖片,如何解決

使用swfupload上傳代碼,它是把swf和javascript結合起來,做成上傳代碼。功能應該是當前最豐富的。

它可以實現純粹html、javascrip難以逾越的功能:
(1)可以同時上傳多個文件;
(2)類似AJAX的無刷新上傳;
(3)可以顯示上傳進度;
(4)良好的瀏覽器兼容性;

具體詳見網路:
http://ke..com/view/1332553.htm

『捌』 php 如何實現圖片上傳前預覽,並且有多個圖片上傳和預覽

<form name="form4" id="form4" method="post" action="#"> <input type="file" name="file4" id="file4" ōnchange="preview4()" /> <img id="pic4" src="" alt="圖片在此顯示" width="120"/> </form> <scrīpt type="text/javascrīpt"> function preview4(){ var x = document.getElementById("file4"); var y = document.getElementById("pic4"); if(!x || !x.value || !y) return; var patn = /\.jpg$|\.jpeg$|\.gif$/i; if(patn.test(x.value)){ y.src = "file://localhost/" + x.value; } else{ alert("您選擇的似乎不是圖像文件。"); } } </scrīpt>

『玖』 PHP上傳多張圖片代碼

單張的圖片上傳是不復雜的,這里涉及到多張圖片上傳和對圖片格式的校驗,保證上傳的一定是圖片,防止上傳其他文件到伺服器。
基本實現演算法是使用數組的形式,把所有的圖片提交個一個數組,對數組的元素進行一個個的處理。
<?php
/*********************************************
* 文件:uploadimg.php
* 用途:圖片上傳程序
* 版本:v1.0
* 創建:2005-03-28 11:07
* 修改:2005-04-06 08:43
* 版權:heiyeluren
*********************************************/
// 圖片目錄
$img_dir = "../upload/";
// …… html 顯示上傳界面
/* 圖片上傳處理 */
// 把圖片傳到伺服器
// 初始化變數
$uploaded = 0;
$unuploaded = 0;
//只允許五張圖片上傳
for ($i=0; $i<=5; $i++)
{
//獲取當前圖片的信息
$is_file = $_FILES['imgfile']['name'][$i];
//如果當前圖片不為空
if (!empty($is_file))
{
//把當前圖片的信息存儲到變數里
$result[$i] = "
<tr class=td2 align=center>
<td>". $_FILES['imgfile']['name'][$i] ."</td>
<td>". round($_FILES['imgfile']['size'][$i]/1024, 2) ."K</td>
<td>". $_FILES['imgfile']['type'][$i] ."</td>
<td>";
// 判斷上傳的圖片的類型是不是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] .= "成功";
$uploaded++;
}
else //如果文件已經在伺服器上存在
{
$result[$i] .= "<font color=red>文件已存在</font>";
$unuploaded++;
continue;
}
}
else
{
$result[$i] .= "<font color=red>失敗</font>";
$unuploaded++;
}
$result[$i] .= "</td></tr>";
} //end if
} // end for
// 如果沒有選擇任何圖片
if (empty($result))
{
prompt_msg("錯誤信息", "沒有選擇任何圖片。", "返回上一步", "uploadimg.php?action=upload" );
exit();
}
// 顯示所有上傳後的結果
echo " <table cellpadding=4 cellspacing=1 border=0 class=table width=400 align=left>
<tr class=navi align=center>
<td>文件名</td>
<td>大小</td>
<td>類型</td>
<td>上傳結果</td>
</tr>
";
foreach( $result as $value)
{
echo $value;
}
echo "<tr class=td1>
<td colspan=4>共上傳 " . ($uploaded + $unuploaded) . ", 成功: $uploaded, 失敗:<font color=red> $unuploaded</font> </td>
</tr>
<tr class=navi>
<td colspan=4 align=center>[ <a href='uploadimg.php?action=upload' title='繼續上傳'>繼續上傳</a> ] [ <a href='image.php' title='瀏覽圖片'>瀏覽圖片</a> ]</td>
</tr>
</table>
";
?>

『拾』 PHP多圖片上傳問題,不管我選擇幾個圖片進行上傳,但是,只能傳上去最後添加的一張

<?php
$db="editor";
$user="admin";
$pas="admin";
$conn=mysql_connect("localhost",$user,$pas) or die("連接錯誤");
mysql_select_db($db,$conn);
mysql_query("set names 'GB2312'");
$nba=$_FILES[""]["name"];
$tmpname=$_FILES[""]["tmp_name"];
$size=$_FILES[""]["size"];
$type=$_FILES[""]["type"];
$error=$_FILES[""]["error"];

if (file_exists("../upload/".$nba )){
echo "文件已存在";
}else {
foreach ($error as $key=>$val){
if($val==0){
move_uploaded_file($tmpname[$key],"../upload/" .rand().$nba[$key]);
$imgpath="../upload/" .rand().$nba[$key];
echo $imgpath;
$sql1 = "INSERT INTO news (title, content,imgpath) VALUES ('a','b','$imgpath')";
echo $nba[$key]."--------".$tmpname[$key]."----------".$size[$key]."--------------".$type[$key];
echo "<br>";
}
else {
echo "wrong!";}

}
}
?>

<html>
<body>
<form name="" id="" method="POST" action="wjsc1.php" enctype="multipart/form-data" >
上傳文件<input type="file" name="[]" id="" />
<br>
<input type="file" name="[]" id="" />
<br>
<input type="file" name="[]" id="" />
<br>
<span style="magrin:0px;padding:0px"><input type="image" name="img"/ src="images/submit.gif"></span>
</form>
</body>
</html>

自己對比哇,管家要把數組處理好