通过PHP上传多个图像

通过PHP上传多个图像,php,image,upload,Php,Image,Upload,下面是新代码。我使用了这个oop-PHP,它是有效的,我在这里添加了这个,因为我删除了我以前版本的问题,这个问题很糟糕。如果有人需要,这种代码是可用的 public function set_file($file) { if(empty($file) || !$file || !is_array($file)) { $this->errors[] = "There was no file uploaded here";

下面是新代码。我使用了这个oop-PHP,它是有效的,我在这里添加了这个,因为我删除了我以前版本的问题,这个问题很糟糕。如果有人需要,这种代码是可用的

public function set_file($file) { 

        if(empty($file) || !$file || !is_array($file)) {
        $this->errors[] = "There was no file uploaded here";
        return false;
    
        }elseif($file['error'] !=0) {
    
        $this->errors[] = $this->upload_errors_array[$file['error']];
        return false;
    
        } else {
        $this->user_image =  basename($file['name']);
        $this->tmp_path = $file['tmp_name'];
        $this->type     = $file['type'];
        $this->size     = $file['size'];
    
    
        }
    }

public function move_image(){
        $target_path = SITE_ROOT.DS. 'admin' . DS . $this->upload_directory . DS . $this->user_image;
        return move_uploaded_file($this->tmp_path, $target_path);
      }

尝试将文件的输入名称属性指定为数组:

<input type="file" id="gallery_album_image" multiple name="uploaded_file[]" >

尝试将文件的输入名称属性指定为数组:

<input type="file" id="gallery_album_image" multiple name="uploaded_file[]" >

您也可以使用这个foreach循环,也可以使用任何需要的人

// Configure upload directory and allowed file types 
$upload_dir = 'images_uploads'.DIRECTORY_SEPARATOR; 
$allowed_types = array('jpg', 'png', 'jpeg', 'gif'); 
  
// Define maxsize for files i.e 2MB 
$maxsize = 4 * 1024 * 1024;  
  
// Checks if user sent an empty form  
if(!empty(array_filter($_FILES['files']['name']))) { 
  
    // Loop through each file in files[] array 
    foreach ($_FILES['files']['tmp_name'] as $key => $value) { 
          
        $file_tmpname = $_FILES['files']['tmp_name'][$key]; 
        $file_name = $_FILES['files']['name'][$key]; 
        $file_size = $_FILES['files']['size'][$key]; 
        $file_ext = pathinfo($file_name, PATHINFO_EXTENSION); 
        $file_name = time().rand().  $file_name.".".$file_ext;
        // Set upload file path 
        $filepath = $upload_dir.$file_name; 

  $sql = "INSERT INTO gallery_gallery(gallery_album_id, gallery_images) VALUES(:gallery_album_id,:file_name) "; 
         
  $values = [
           ':gallery_album_id' => $gallery_album_id, 
           ':file_name' => $file_name
          ];
    
        $query =$connection->prepare($sql);
        $query->execute($values);
  
        // Check file type is allowed or not 
        if(in_array(strtolower($file_ext), $allowed_types)) { 
  
            // Verify file size - 2MB max  
            if ($file_size > $maxsize)          
                echo "Error: File size is larger than the allowed limit.";  
  
            // If file with name already exist then append time in 
            // front of name of the file to avoid overwriting of file 
            if(file_exists($filepath)) { 
                $filepath = $upload_dir.time().$file_name; 
                  
                if( move_uploaded_file($file_tmpname, $filepath)) { 
                    echo "{$file_name} successfully uploaded <br />"; 
                }  
                else {                      
                    echo "Error uploading {$file_name} <br />";  
                } 
            } 
            else { 
              
                if( move_uploaded_file($file_tmpname, $filepath)) { 
                    echo "{$file_name} successfully uploaded <br />"; 
                } 
                else {                      
                    echo "Error uploading {$file_name} <br />";  
                } 
            } 
        } 
        else { 
              
            // If file extention not valid 
            echo "Error uploading {$file_name} ";  
            echo "({$file_ext} file type is not allowed)<br / >"; 
        }  
    } 
//配置上载目录和允许的文件类型
$upload\u dir='images\u uploads'。目录\u分隔符;
$allowed_types=数组('jpg','png','jpeg','gif');
//定义文件的最大大小,即2MB
$maxsize=4*1024*1024;
//检查用户是否发送了空表单
如果(!empty(数组_筛选器($_FILES['FILES']['name'])){
//循环遍历files[]数组中的每个文件
foreach($\u FILES['FILES']['tmp\u name']作为$key=>$value){
$file\u tmpname=$\u FILES['FILES']['tmp\u name'][$key];
$file\u name=$\u FILES['FILES']['name'][$key];
$file\u size=$\u FILES['FILES']['size'][$key];
$file\u ext=pathinfo($file\u name,pathinfo\u扩展名);
$file\u name=time().rand().$file\u name.“.”$file\u ext;
//设置上载文件路径
$filepath=$upload\u dir.$file\u name;
$sql=“插入到gallery_gallery(gallery_album_id,gallery_图像)值(:gallery_album_id,:file_name)”;
$values=[
“:gallery_album_id”=>$gallery_album_id,
':file_name'=>$file_name
];
$query=$connection->prepare($sql);
$query->execute($value);
//检查文件类型是否允许
if(在数组(strtolower($file\u ext),$allowed\u types)中){
//验证文件大小-最大2MB
如果($file\u size>$maxsize)
echo“错误:文件大小大于允许的限制。”;
//如果名称为的文件已存在,则在中追加时间
//文件名的前面,以避免覆盖文件
如果(文件_存在($filepath)){
$filepath=$upload\u dir.time().$file\u name;
如果(移动上传的文件($file\u tmpname,$filepath)){
echo“{$file_name}已成功上载
”; } 否则{ echo“上传{$file_name}
时出错”; } } 否则{ 如果(移动上传的文件($file\u tmpname,$filepath)){ echo“{$file_name}已成功上载
”; } 否则{ echo“上传{$file_name}
时出错”; } } } 否则{ //如果文件扩展名无效 echo“上传{$file_name}时出错”; echo“({$file_ext}文件类型不允许)
”; } }
您也可以使用这个foreach循环,也可以使用任何需要的人

// Configure upload directory and allowed file types 
$upload_dir = 'images_uploads'.DIRECTORY_SEPARATOR; 
$allowed_types = array('jpg', 'png', 'jpeg', 'gif'); 
  
// Define maxsize for files i.e 2MB 
$maxsize = 4 * 1024 * 1024;  
  
// Checks if user sent an empty form  
if(!empty(array_filter($_FILES['files']['name']))) { 
  
    // Loop through each file in files[] array 
    foreach ($_FILES['files']['tmp_name'] as $key => $value) { 
          
        $file_tmpname = $_FILES['files']['tmp_name'][$key]; 
        $file_name = $_FILES['files']['name'][$key]; 
        $file_size = $_FILES['files']['size'][$key]; 
        $file_ext = pathinfo($file_name, PATHINFO_EXTENSION); 
        $file_name = time().rand().  $file_name.".".$file_ext;
        // Set upload file path 
        $filepath = $upload_dir.$file_name; 

  $sql = "INSERT INTO gallery_gallery(gallery_album_id, gallery_images) VALUES(:gallery_album_id,:file_name) "; 
         
  $values = [
           ':gallery_album_id' => $gallery_album_id, 
           ':file_name' => $file_name
          ];
    
        $query =$connection->prepare($sql);
        $query->execute($values);
  
        // Check file type is allowed or not 
        if(in_array(strtolower($file_ext), $allowed_types)) { 
  
            // Verify file size - 2MB max  
            if ($file_size > $maxsize)          
                echo "Error: File size is larger than the allowed limit.";  
  
            // If file with name already exist then append time in 
            // front of name of the file to avoid overwriting of file 
            if(file_exists($filepath)) { 
                $filepath = $upload_dir.time().$file_name; 
                  
                if( move_uploaded_file($file_tmpname, $filepath)) { 
                    echo "{$file_name} successfully uploaded <br />"; 
                }  
                else {                      
                    echo "Error uploading {$file_name} <br />";  
                } 
            } 
            else { 
              
                if( move_uploaded_file($file_tmpname, $filepath)) { 
                    echo "{$file_name} successfully uploaded <br />"; 
                } 
                else {                      
                    echo "Error uploading {$file_name} <br />";  
                } 
            } 
        } 
        else { 
              
            // If file extention not valid 
            echo "Error uploading {$file_name} ";  
            echo "({$file_ext} file type is not allowed)<br / >"; 
        }  
    } 
//配置上载目录和允许的文件类型
$upload\u dir='images\u uploads'。目录\u分隔符;
$allowed_types=数组('jpg','png','jpeg','gif');
//定义文件的最大大小,即2MB
$maxsize=4*1024*1024;
//检查用户是否发送了空表单
如果(!empty(数组_筛选器($_FILES['FILES']['name'])){
//循环遍历files[]数组中的每个文件
foreach($\u FILES['FILES']['tmp\u name']作为$key=>$value){
$file\u tmpname=$\u FILES['FILES']['tmp\u name'][$key];
$file\u name=$\u FILES['FILES']['name'][$key];
$file\u size=$\u FILES['FILES']['size'][$key];
$file\u ext=pathinfo($file\u name,pathinfo\u扩展名);
$file\u name=time().rand().$file\u name.“.”$file\u ext;
//设置上载文件路径
$filepath=$upload\u dir.$file\u name;
$sql=“插入到gallery_gallery(gallery_album_id,gallery_图像)值(:gallery_album_id,:file_name)”;
$values=[
“:gallery_album_id”=>$gallery_album_id,
':file_name'=>$file_name
];
$query=$connection->prepare($sql);
$query->execute($value);
//检查文件类型是否允许
if(在数组(strtolower($file\u ext),$allowed\u types)中){
//验证文件大小-最大2MB
如果($file\u size>$maxsize)
echo“错误:文件大小大于允许的限制。”;
//如果名称为的文件已存在,则在中追加时间
//文件名的前面,以避免覆盖文件
如果(文件_存在($filepath)){
$filepath=$upload\u dir.time().$file\u name;
如果(移动上传的文件($file\u tmpname,$filepath)){
echo“{$file_name}已成功上载
”; } 否则{ echo“上传{$file_name}
时出错”; } } 否则{ 如果(移动上传的文件($file\u tmpname,$filepath)){ echo“{$file_name}已成功上载
”; } 否则{ echo“上传{$file_name}
时出错”; } } } 否则{ //如果文件扩展名无效 echo“上传{$file_name}时出错”; echo“({$file_ext}文件类型不允许)
”; } }
谢谢,我修复了也使用了foreach并稍微更改了代码,但我做到了。谢谢,我修复了也使用了foreach并稍微更改了代码,但我做到了。