Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.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 如何在DB行中插入多个值从文件夹目录读取图像并插入它们_Php_Mysql_Insert_Directory - Fatal编程技术网

Php 如何在DB行中插入多个值从文件夹目录读取图像并插入它们

Php 如何在DB行中插入多个值从文件夹目录读取图像并插入它们,php,mysql,insert,directory,Php,Mysql,Insert,Directory,大家好,我有一个很好的PHP脚本,可以读取服务器上某个目录中的图像文件,并在数据库中插入imagepath。它工作得很好,但我需要插入更多的值,不仅是imagepath,还有一个类别和名称,但我不知道如何使查询以正确的方式工作,它只对图像本身进行查询。 我想插入整个路径,而不是仅插入带有扩展名和其他两个值(如名称和类别)的图像 下面是PHP脚本 <?php $server = 'localhost'; $dbuser = 'root'; $dbpass = 'password';

大家好,我有一个很好的PHP脚本,可以读取服务器上某个目录中的图像文件,并在数据库中插入imagepath。它工作得很好,但我需要插入更多的值,不仅是imagepath,还有一个类别和名称,但我不知道如何使查询以正确的方式工作,它只对图像本身进行查询。 我想插入整个路径,而不是仅插入带有扩展名和其他两个值(如名称和类别)的图像

下面是PHP脚本

<?php





$server = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$dbname = 'dbname';

$connect = mysql_connect($server,$dbuser,$dbpass);
mysql_select_db($dbname,$connect);





$path = "folder/subfolder/";
$files = array_map('mysql_real_escape_string',array_map('basename',array_filter(glob("{$path}*.*"),'is_file')));
if(empty($files)){
    echo "There were no matching files to insert into the database.";
} else {    
    $query = "INSERT INTO name (picurl) VALUES ('" . implode("'),('",$files) . "')";
    if(!mysql_query($query)){
        echo "There was a problem inserting the data.";
        trigger_error("Query failed: $query<br />Error: " . mysql_error());
    } else {
        echo "The data was inserted successfully.";
    }
}?>
并将图像替换为整个部分加上图像和扩展。 有什么想法吗

帮点忙就好了。
谢谢

解决了这是解决方案脚本:

<?php





$server = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$dbname = 'dbname';

$connect = mysql_connect($server,$dbuser,$dbpass);
mysql_select_db($dbname,$connect);





$path = "folder/subfolder/";
$files = array_map('mysql_real_escape_string',array_filter(glob("{$path}*.*"),'is_file'));
if(empty($files)){
    echo "There were no matching files to insert into the database.";
} else {    
    $insertValues = array();
foreach($files as $file)
{
    $insertValues[] = "('value1', 'value2', '{$file}')";
}$query = "INSERT INTO `name` (`picname`, `piccat`, `picurl`) VALUES " . implode(', ', $insertValues);
    if(!mysql_query($query)){
        echo "There was a problem inserting the data.";
        trigger_error("Query failed: $query<br />Error: " . mysql_error());
    } else {
        echo "The data was inserted successfully.";
    }
}?>

将此标记为已回答。
<?php





$server = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$dbname = 'dbname';

$connect = mysql_connect($server,$dbuser,$dbpass);
mysql_select_db($dbname,$connect);





$path = "folder/subfolder/";
$files = array_map('mysql_real_escape_string',array_filter(glob("{$path}*.*"),'is_file'));
if(empty($files)){
    echo "There were no matching files to insert into the database.";
} else {    
    $insertValues = array();
foreach($files as $file)
{
    $insertValues[] = "('value1', 'value2', '{$file}')";
}$query = "INSERT INTO `name` (`picname`, `piccat`, `picurl`) VALUES " . implode(', ', $insertValues);
    if(!mysql_query($query)){
        echo "There was a problem inserting the data.";
        trigger_error("Query failed: $query<br />Error: " . mysql_error());
    } else {
        echo "The data was inserted successfully.";
    }
}?>