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