按住Ctrl鍵能選擇多張圖片一次性上傳,上傳成功後數據庫保存圖片的路徑及圖片原來的文件名。該功能一般在比較成熟的內容編輯器插件中有,今天特意挑出來給大家講講,下麵在本地環境給大家演示。總共三個文件index.html、conn.php、upload.php
index.html文件
<html>
<head>上傳文件</head>
<body>
<form method="post" action="upload.php" enctype="multipart/form-data">
<input name='uploads[]' type="file" multiple>
<input type="submit" name="uploadpic" value="上傳">
</form>
</body>
</html>
連接數據庫conn.php文件
<?php
$conn=mysql_connect("localhost","root","root") or die("數據庫服務器連接錯誤".mysql_error());
mysql_select_db("test2",$conn) or die("數據庫訪問錯誤".mysql_error());
mysql_query("set character utf8");
mysql_query("set names utf8");
圖片處理upload.php文件
<?php test2
include("conn.php");
$uploadfile; // 圖片的名字
if($_POST['uploadpic']=='上傳'){
$dest_folder = "D:/phpStudy/WWW/picture/"; //上傳圖片保存的路徑 圖片放在跟你upload.php同級的picture文件夾裏
$arr=array(); //定義一個數組存放上傳圖片的名稱方便你以後會用的。
$count=0;
if(!file_exists($dest_folder)){
mkdir($dest_folder,700); // 創建文件夾,並給予最高權限
}
$tp = array("image/gif","image/pjpeg","image/jpeg","image/png"); //檢查上傳文件是否在允許上傳的類型
foreach ($_FILES["uploads"]["error"] as $key => $error){
if(!in_array($_FILES["uploads"]["type"][$key],$tp)){
echo "<script language='javascript'>";
echo "alert(\"文件類型錯誤!\");";
echo "</script>";
exit;
}
if($error == UPLOAD_ERR_OK){
$tmp_name = $_FILES["uploads"]["tmp_name"][$key];
$a=explode(".",$_FILES["uploads"]["name"][$key]); //截取文件名跟後綴
// $prename = substr($a[0],10); //如果你到底的圖片名稱不是你所要的你可以用截取字符得到
$prename = $a[0];
$name = date('YmdHis').mt_rand(100,999).".".$a[1]; // 文件的重命名 (日期+隨機數+後綴)
$uploadfile = $dest_folder.$name; // 文件的路徑
move_uploaded_file($tmp_name, $uploadfile);
$arr[$count]=$uploadfile;
$query="insert into product(name,tupian,pLike) values('$prename','$uploadfile','0')"; // 插入到數據庫
$res=mysql_query($query);
if($res)
echo $prename."chenggong<br/>";
echo $uploadfile."<br />";
$count++;
}
}
echo "總共".$count."文件";
}