php - is_dir 不适用于 for 循环

标签 php mysql

我想循环浏览文件夹中的图像和缩略图,并将它们插入数据库。 我想使用 is_dir 来过滤目录。

我有:

$images = scandir('./images/all_comics/');
$thumbs = scandir('./images/thumbnails/');

for($x=0; $x<count($images); $x++) 
   {
    if(!is_dir($images[$x]))
       {
        //This shows all images WITHOUT directories
        echo $images[$x]; 

        //This is STILL adding images AND directories to database
        mysql_query("INSERT INTO images (imgpath, thumbpath) VALUES ('$images[$x]', '$thumbs[$x]')");
       }
   }

我在 !is_dir 之后直接在那里检查,echo $images[$x],它会根据需要回显所有没有目录的图像。

但是当我检查数据库中的插入时,我看到目录已添加为记录。这是为什么?

谢谢!

最佳答案

(删除旧答案,因为问题是打字错误)

scandir 返回给定目录中的文件列表。当您使用 is_dir 时,它会在当前目录中查找这些文件。我认为你需要做的是:

if(!is_dir("./images/all_comics/" . $images[$x])) {
....

关于php - is_dir 不适用于 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12517754/

相关文章:

php - 如何循环遍历 3 维数组以将数据插入数据库?

php - 将 Javascript 变量转换为 PHP 变量

php - 将多个复选框值发送到 INSERT

mysql - 计算每个不同项目的数量 - 尝试找到最常见的

MySql 不使用模块更新每第 n 行以避免死锁

php - 社交网站时间线的数据库查询

java - RSA 加密 : Java to PHP

php - php、mysql、memcached 的最佳实践排行榜是什么?

javascript - DataTypes.ARRAY(DataTypes.STRING) 上的 Sequelize 错误

javascript - 如何将数据库值作为ajax中的对象显示在html表格中?