Php 从多个文件夹批量插入图像,但文件夹中的图像无法工作
大家好,我的mysql批量图像插入脚本不起作用。我不知道为什么。 我在根目录中有上传脚本,在一个名为img的文件夹中有图像,在这个文件夹中有一个按类别命名的文件夹,其中有图像,所以请插入mysql。但他每次都对我说“没有匹配的文件插入数据库。”我想不知道为什么路径应该是正确的 这是剧本Php 从多个文件夹批量插入图像,但文件夹中的图像无法工作,php,mysql,bulkinsert,directory,bulk,Php,Mysql,Bulkinsert,Directory,Bulk,大家好,我的mysql批量图像插入脚本不起作用。我不知道为什么。 我在根目录中有上传脚本,在一个名为img的文件夹中有图像,在这个文件夹中有一个按类别命名的文件夹,其中有图像,所以请插入mysql。但他每次都对我说“没有匹配的文件插入数据库。”我想不知道为什么路径应该是正确的 这是剧本 $connect = mysql_connect($server,$dbuser,$dbpass); mysql_select_db($dbname,$connect); $dirs = array_fi
$connect = mysql_connect($server,$dbuser,$dbpass);
mysql_select_db($dbname,$connect);
$dirs = array_filter(glob('img/*'), 'is_dir');
foreach ($dirs as $dir) {
$path = "img/" . $dir . "/";
$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) {
$data = getimagesize($file);
$width = $data[0];
$height = $data[1];
$insertValues[] = "('Titel', {$dir}, '{$file}', '$width', '$height')";
}
$query = "INSERT INTO `gbpics` (`gbpictitel`, `gbpiccat`, `gbpicurl`, `gbpicwidth`, `gbpicheight`) 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.";
}
}
}
?>
$connect=mysql\u connect($server、$dbuser、$dbpass);
mysql\u select\u db($dbname,$connect);
$dirs=array_filter(glob('img/*'),'is_dir');
外汇($dirs作为$dir){
$path=“img/”$dir./”;
$files=array_-map('mysql_-real_-escape_-string',array_-filter(glob(“{$path}*”,'is_-file');
if(空($files)){
echo“没有要插入到数据库中的匹配文件。”;
}否则{
$insertValues=array();
foreach($files作为$file){
$data=getimagesize($file);
$width=$data[0];
$height=$data[1];
$insertValues[]=“('Titel',{$dir},{$file}','$width','$height')”;
}
$query=“插入到`GBPICTITE`、`gbpiccat`、`gbpicurl`、`gbpicwidth`、`gbpicheight`)值中”。内爆(`、`、`、$insertValues);
if(!mysql_query($query)){
echo“插入数据时出现问题。”;
触发器_错误(“查询失败:$Query
错误:“.mysql_错误());
}否则{
echo“数据已成功插入。”;
}
}
}
?>
我想
$path = "img/" . $dir . "/";
正在复制img/零件。
也许应该是
$path = $dir . "/";
你试过相对路径吗<代码>$path=“/img/”$迪尔。"/";代码>@Sloarchasher是的尝试过没有working@SloanThrasher还有其他想法吗?@sloarcher他说他没有文件可插入。所以我想他找不到分类文件夹。你试过
echo$path代码>在您第一次构建它之后,看看您得到了什么值。这总是比“不工作”更容易得到,但也注意到$insertValues[]=“('Titel'、'{$dir}'、'{$file}'、'$width'、'$height')”中dir位周围缺少引号代码>