Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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
多文件上传,只存储一个MySQL数据库文件路径 这是一个简单的html文件代码 这是简单的PHP文件代码_Php_Mysql_File Upload - Fatal编程技术网

多文件上传,只存储一个MySQL数据库文件路径 这是一个简单的html文件代码 这是简单的PHP文件代码

多文件上传,只存储一个MySQL数据库文件路径 这是一个简单的html文件代码 这是简单的PHP文件代码,php,mysql,file-upload,Php,Mysql,File Upload,当我使用此代码时,会出现“空数组”错误,但文件未上载。以下是演示代码 <?php $IMG = isset($_FILES['files']) ? $_FILES['files'] : array(); if (!empty($IMG)) { $uploads_dir = 'images/'; $value_insert = ''; foreach ($IMG["error"] as $key => $err

当我使用此代码时,会出现“空数组”错误,但文件未上载。

以下是演示代码

<?php
    $IMG = isset($_FILES['files']) ? $_FILES['files'] : array();

    if (!empty($IMG)) 
    {
        $uploads_dir = 'images/';
        $value_insert = '';
        foreach ($IMG["error"] as $key => $error)
        {
            if ($error == UPLOAD_ERR_OK)
            {
              $tmp_name = $IMG["tmp_name"][$key];
              $name = $IMG["name"][$key];
              move_uploaded_file($tmp_name, "$uploads_dir/".$name);
              $name_array=mysql_real_escape_string($name);
              $value_insert .= $name_array . ",";
            }
        }
         $values_insert = rtrim($value_insert, ',');
          $query = "INSERT INTO upload (FILE_NAME) VALUES" . $values_insert;
          $result = mysql_query($query);
     }else{
        echo 'empty array';
     }

?>
<?php
$IMG = isset($_FILES['files']) ? $_FILES['files'] : array();

if (!empty($IMG)) 
{
    $uploads_dir = 'images/';
    $i = 1;
    foreach ($IMG["error"] as $key => $error)
    {
        if ($error == UPLOAD_ERR_OK)
        {
          $tmp_name = $IMG["tmp_name"][$key];
          $name = $IMG["name"][$key];
          move_uploaded_file($tmp_name, "$uploads_dir/".$name);
          $name_array=mysql_real_escape_string($name);
          if ($i == 1) {
             $query = "INSERT INTO upload (FILE_NAME) VALUES" . $name_array;
             $result = mysql_query($query);
             if (!$result) {
                 die('Invalid query: ' . mysql_error());
             }
          }
          $i++;
        }
    }         

 }else{
    echo 'empty array';
 }

?>

$IMG=isset$\u POST['files']$_POST['files']:数组;是否更改为$IMG=isset$\u FILES['FILES']$_文件['FILES']:数组;亲爱的,就在html代码下面。@NIRANJANS将其存储数据存储在db中,但每个文件存储在单独的db列中,但我想存储在单个列中。只需在foreach$i=1之前生成;在foreach条件中,如果$i==1{您的sql查询}$i++;这只会发生一次。@SamirNabil您能给出演示代码吗?每个文件都存储在单独的db列中,但如果我更改$IMG=isset$\u POST['files'],我想存储在单个列中$_POST['files']:数组;是否更改为$IMG=isset$\u FILES['FILES']$_文件['FILES']:数组;注意:未定义变量:F:\XAMPP\htdocs\uptime\upme.php第43行的value\u insert只是将文件上载到文件夹中,但它不会将路径存储在db$query=insert into upload file\u NAME value中$插入值;更改为$query=插入上载文件\u名称值$插入值;它只是将文件上载到文件夹中,但不将路径存储到数据库中我只是更改我的查询$query=INSERT into upload file_NAME VALUES'$NAME_array';;它可以工作,但在bd中只存储一个文件信息,但我选择了三个文件。
<?php
    $IMG = isset($_FILES['files']) ? $_FILES['files'] : array();

    if (!empty($IMG)) 
    {
        $uploads_dir = 'images/';
        $value_insert = '';
        foreach ($IMG["error"] as $key => $error)
        {
            if ($error == UPLOAD_ERR_OK)
            {
              $tmp_name = $IMG["tmp_name"][$key];
              $name = $IMG["name"][$key];
              move_uploaded_file($tmp_name, "$uploads_dir/".$name);
              $name_array=mysql_real_escape_string($name);
              $value_insert .= $name_array . ",";
            }
        }
         $values_insert = rtrim($value_insert, ',');
          $query = "INSERT INTO upload (FILE_NAME) VALUES" . $values_insert;
          $result = mysql_query($query);
     }else{
        echo 'empty array';
     }

?>
<?php
$IMG = isset($_FILES['files']) ? $_FILES['files'] : array();

if (!empty($IMG)) 
{
    $uploads_dir = 'images/';
    $i = 1;
    foreach ($IMG["error"] as $key => $error)
    {
        if ($error == UPLOAD_ERR_OK)
        {
          $tmp_name = $IMG["tmp_name"][$key];
          $name = $IMG["name"][$key];
          move_uploaded_file($tmp_name, "$uploads_dir/".$name);
          $name_array=mysql_real_escape_string($name);
          if ($i == 1) {
             $query = "INSERT INTO upload (FILE_NAME) VALUES" . $name_array;
             $result = mysql_query($query);
             if (!$result) {
                 die('Invalid query: ' . mysql_error());
             }
          }
          $i++;
        }
    }         

 }else{
    echo 'empty array';
 }

?>