我有一个网站,我可以上传多个图片,问题是当我尝试上传超过20张图片时。 PHP有这个选项限制为20个文件,我想知道是否可以在提交之前上传图像,然后开始一对一上传图像。
编辑:我检查了bluimp插件,我想做一些类似但基本代码的东西。问题是我不知道起点EDIT2:我找到了解决方案,现在我对FormData
进行调查答案 0 :(得分:2)
您可以使用一些jQuery轻松实现此目的。 Ajax并不难编码。
但也有很好的多文件上传器,如blueimp,它已经提供了一种PHP后端。
答案 1 :(得分:0)
您可以一次轻松上传多个文件,以下是我与您分享的工作示例....
<td valign="top">
<input type="file" id="paglink" maxlength="80" style="width:230px" name="files[]" multiple>
</td>
并在数据库页面中,......
<?php
if(isset($_FILES['files'])){
$errors= array();
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
$file_name = $_FILES['files']['name'][$key];
$file_size =$_FILES['files']['size'][$key];
$file_tmp =$_FILES['files']['tmp_name'][$key];
$file_type=$_FILES['files']['type'][$key];
if($file_size > 2097152){
$errors[]='File size must be less than 2 MB';
}
//$query="INSERT into upload_data (`USER_ID`,`FILE_NAME`,`FILE_SIZE`,`FILE_TYPE`) VALUES('$user_id','$file_name','$file_size','$file_type'); ";
$desired_dir="images/gallery";
if(empty($errors)==true){
if(is_dir($desired_dir)==false){
mkdir("$desired_dir", 0700); // Create directory if it does not exist
}
if(is_dir("$desired_dir/".$file_name)==false){
move_uploaded_file($file_tmp,"$desired_dir/".$file_name);
}else{ // rename the file if another one exist
$new_dir="$desired_dir/".$file_name.time();
rename($file_tmp,$new_dir) ;
}
// mysql_query($query);
}//else{
// print_r($errors);
//}
}
//if(empty($error)){
//echo "Success";
//}
}
?>
<?php
$b=$_FILES['files']['name'];
$cc=implode (",",$b);
$bb=explode (",",$cc);
$f=$_POST['date'];
$et=$_POST['event_title'];
$ed=$_POST['event_date'];
$ed1=$_POST['event_date1'];
$j=$_POST['status'];
$showon=$_POST['showon'];
for ($i = 0; $i < count($bb); $i++) {
$pp= $bb[$i];
$insert="insert into gallery set image='$pp',date='$f',event_title='$et',event_date='$ed',event_date1='$ed1',status='$j',sho wonpage='$showon'";
$res=mysqli_query($con,$insert);
}
只需应用此编码,您就可以一次上传任意数量的图片,.. 继续编码:)
答案 2 :(得分:0)
我听说可以用FormData做到这一点。我从未使用它,但如果你可以调查你会知道