對於咱們來講上傳一張圖片是很是簡單的事情,這裏教你們一個關於PHP上傳多張圖片的代碼分析,但願對你們有幫助。php
學習PHP時,你可能會遇到PHP上傳多張圖片問題,這裏將介紹PHP上傳多張圖片問題的解決方法,在這裏拿出來和你們分享一下。單張的圖片上傳是不復雜的,這裏涉及到PHP上傳多張圖片和對圖片格式的校驗,保證上傳的必定是圖片,防止上傳其餘文件到服務器。html
基本實現算法是使用數組的形式,把全部的圖片提交個一個數組,對數組的元素進行一個個的處理。PHP其實不過是Web服務器的一個模塊功能,因此首先要保 證Web服務器的安全。固然Web服務器要安全又必須是先保證系統安全,這樣就扯遠了,無窮無盡。PHP能夠和各類Web服務器結合,這裏也只討論 Apache。很是建議以chroot方式安裝啓動Apache,這樣即便Apache和PHP及其腳本出現漏洞,受影響的也只有這個禁錮的系統,不會危 害實際系統。如下爲引用的內容:算法
<?php 數組
//圖片目錄 安全
$img_dir="../upload/"; 服務器
//……html顯示上傳界面 ide
/*圖片上傳處理*/ 學習
//把圖片傳到服務器 spa
//初始化變量 xml
$uploaded=0;
$unuploaded=0;
//只容許五張圖片上傳
for($i=0;$i<=5;$i++)
{
//獲取當前圖片的信息
$is_file=$_FILES['imgfile']['name'][$i];
//若是當前圖片不爲空
if(!empty($is_file))
{
//把當前圖片的信息存儲到變量裏
$result[$i]="
<trclasstrclass=td2align=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]=="p_w_picpath/pjpeg"||
$_FILES['imgfile']['type'][$i]=="p_w_picpath/gif"||
$_FILES['imgfile']['type'][$i]=="p_w_picpath/x-png"||
$_FILES['imgfile']['type'][$i]=="p_w_picpath/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].="<fontcolor=red>文件已存在</font>";
$unuploaded++;
continue;
}
}
else
{
$result[$i].="<fontcolor=red>失敗</font>";
$unuploaded++;
}
$result[$i].="</td></tr>";
}//endif
}//endfor
//若是沒有選擇任何圖片
if(empty($result))
{
prompt_msg("錯誤信息","沒有選擇任何圖片。","返回上一步","uploadimg.php?action=upload");
exit();
}
//顯示全部上傳後的結果
echo"<tablecellpaddingtablecellpadding=4cellspacing=1border=0class=tablewidth=400align=left>
<trclasstrclass=navialign=center>
<td>文件名</td>
<td>大小</td>
<td>類型</td>
<td>上傳結果</td>
</tr>
";
foreach($resultas$value)
{
echo$value;
}
echo"<trclasstrclass=td1>
<tdcolspantdcolspan=4>共上傳".($uploaded+$unuploaded).",成功:$uploaded,失敗:<fontcolorfontcolor=red>$unuploaded</font></td>
</tr>
<trclasstrclass=navi>
<tdcolspantdcolspan=4align=center>[<ahrefahref='uploadimg.php?action=upload'title='繼續上傳'>繼續上傳</a>]
[<ahrefahref='p_w_picpath.php'title='瀏覽圖片'>瀏覽圖片</a>]</td>
</tr>
</table>
";
?>