多文件上传,只存储一个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';
}
?>