php多圖上傳預覽
分兩個部分,一個是「多個圖片」,一個是獲取圖片的寬、高。
第一個用循環做到,也就是用for、foreach之類的東西遍歷你從頁面中得到的圖片數組
下一步用getimagesize()函數獲得圖片的信息。
此函數在php手冊里有解釋:圖像生成與處理→GD→GD and image函數里。
此函數返回的結果如下:
返回一個具有四個單元的數組。索引 0 包含圖像寬度的像素值,索引 1 包含圖像高度的像素值。索引 2 是圖像類型的標記:1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。這些標記與 PHP 4.3.0 新加的 IMAGETYPE 常量對應。索引 3 是文本字元串,內容為「height="yyy" width="xxx"」,可直接用於 IMG 標記。
❷ 基於HTML5的多圖Ajax上傳的php後台接收並獲取圖片寬高等信息
//但是為什麼我用file_exists()判斷文件是否存在時,得到的結果卻是不存在呢
這句話後面加一句
$file='../uploads/' . $file;
你都把文件存成這個文件了 還用原來的文件名判斷能行嗎
後面的錯誤也是一樣的
也可以直接把後面兩個$file改掉
if(!file_exists('../uploads/' . $file)){
$src_info = @getimagesize('../uploads/' . $file);
❸ 新手請教多個圖片上傳,怎麼寫入資料庫(PHP)
原理都一樣,循環接參,你列印一下它的參數就夠就明白了,存儲資料庫,可以將圖片路徑之間用|或者逗號,或者json 系列化來存儲:
<?php
print_r($_FILES);//你可以列印一下它,看看它的結構
if(!empty($_FILES)){
foreach($_FILES['file']['name']as$k=>$v){
//$_FILES["file"]都變成$_FILES["file"][$k]操作進行操作吧
if($_FILES['file'][$k]['error']==0){
$filetype=array("jpg","JPG");
$arr=explode(".",$_FILES["file"][$k]["name"]);
...//同樣的代碼
}
}
}
?>
<formname=""action=""method="post"enctype="multipart/form-data">
<inputtype="file"name="file[]"/><br/>
<inputtype="file"name="file[]"/><br/>
<inputtype="file"name="file[]"/><br/>
<inputtype="file"name="file[]"/><br/>
<inputtype="file"name="file[]"/><br/>
<inputtype="file"name="file[]"/><br/>
<inputtype="submit"name="a"value="提交"/>
</form>
❹ input file用了multiple屬性 而且選擇了多張圖片 PHP該怎麼上傳
其實就那兩個函數
is_uploaded_file()和move_uploaded_file()
是循環上傳的。你列印下$_FILES這個超全局數組就明白了。下面我的測試代碼上傳圖片的:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題</title>
</head>
<body>
<form action="test.php" method="post" enctype="multipart/form-data">
<input type="file" id="f" name="images[]" multiple="true" style="border:1px solid red" />
<input type="submit" value="提交" />
</form>
</body>
</html>
<?php
$path=$_SERVER['DOCUMENT_ROOT'].'test2/';
if(!empty($_FILES)){
echo "aaaa";
if(is_uploaded_file($_FILES['images']['tmp_name'][0])){
echo "1111";
exit;
}
foreach($_FILES['images']['tmp_name'] as $k=>$v){
if(is_uploaded_file($_FILES['images']['tmp_name'][$k])){
$save=$path.$_FILES['images']['name'][$k];
echo $save."<br>";
if(move_uploaded_file($_FILES['images']['tmp_name'][$k],$save)){
echo "上傳成功!";
}
}
}
echo "<pre>";
print_r($_FILES);
echo "</pre>";
}
?>