Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 上传多张带有说明的图片?_Php_Mysql_Arrays - Fatal编程技术网

Php 上传多张带有说明的图片?

Php 上传多张带有说明的图片?,php,mysql,arrays,Php,Mysql,Arrays,是否可以上载多个图像及其在php中的描述 这是我的密码: if(isset($_FILES['files'])){ $gn_id=$_POST['gn_id']; $date=date('Y-m-d'); $errors= array(); foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){ $file_name = $key.$_FILES['files']['name'

是否可以上载多个图像及其在php中的描述

这是我的密码:

if(isset($_FILES['files'])){
    $gn_id=$_POST['gn_id'];
    $date=date('Y-m-d');
    $errors= array();
    foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
        $file_name = $key.$_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 `add_gallery` (`id`, `gn_id`, `photo`, `desc`, `date`) VALUES ('', '$gn_id', '$file_name', '$desc', '$date')";

        $desired_dir="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) ;               
            }
         $qu=mysql_query($query);           
        }else{
                print_r($errors);
        }
    }   
}

您可以通过将描述值发布为数组来完成此任务

<input name="description[]" value="First Image" />
<input name="description[]" value="Second Image"  />
<input name="description[]" value="Third Image" />
<input name="description[]" value="Fourth Image" />
<input name="description[]" value="Fifth Image" />
一旦发布了这些值,就可以进入foreach循环。在循环中,您可以使用当前索引描述数组获取当前图像描述

// Getting description values as arrays
$Description_Values = $_POST['description'];
// Below iteration counter
$Counter = 0;
// This is your foreach loop which you are using for images
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
// Getting Current Image Description
$current_image_description = $Description_Values[$Counter];
$Counter++;
}

为了更好的理解,你可以添加你的html。回答你的问题:是的,这是可能的。马格纳斯·埃里克森:怎么做?帮助我!任何例子Links@JaykumarGondaliya如果你看看这个问题,多次上传不是OP的问题。它将添加对文件的描述,开发人员已在下面回答了这些文件。请根据您的要求使用等等。然后以$_POST['description'][0]而不是$description_值[$Counter]的形式访问它们;,为什么不使用$Description_值[$key]@是的,我们可以用。感谢分享此+1感谢开发者先生。它工作得很好。谢谢@MagnusEriksson
// Getting description values as arrays
$Description_Values = $_POST['description'];
// Below iteration counter
$Counter = 0;
// This is your foreach loop which you are using for images
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
// Getting Current Image Description
$current_image_description = $Description_Values[$Counter];
$Counter++;
}