按住Ctrl键能选择多个文件一次性上传,上传成功后数据库保存文件的路径及文件原来的文件名。该功能一般在比较成熟的内容编辑器插件中有,今天特意挑出来给大家讲讲,下面在本地环境给大家演示
上传页面
qipa250.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php实现:一次选择多个文件上传</title>
</head>
<body>
<form method="post" action="qipa_upload.php" enctype="multipart/form-data">
<input name='uploads[]' type="file" multiple>
<input type="submit" name="uploadpic" value="上传">
</form>
</body>
</html>
php处理页面
qipa_upload.php 页面
<?php
$dest_folder = "D:/wamp/www/uploadfile/"; //上传图片保存的路径 图片放在跟你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", "application/pdf",'application/msword','application/vnd.openxmlformats-officedocument.presentationml.presentation'); //检查上传文件是否在允许上传的类型
echo "<pre>";
print_r($_FILES["uploads"]);
foreach ($_FILES["uploads"]["error"] as $key => $error) {
echo '文件类型' . $_FILES["uploads"]["type"][$key];
echo '<br>';
/* 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;
echo $uploadfile . "<br />";
$count++;
}
}
echo "总共" . $count . "文件";
?>
访问 localhost/upload/qipa250.html
点击上传
在存储文件的目录就可以看到上传的文件信息了