标签: readdir

为什么$ count不更新?

   $dir_handle = @opendir($url) or die("Unable to open $url");
   $count = "0";
   while ($file = readdir($dir_handle)) {
      if (!is_dir($url.'/'.$file) && ($file="*.jpg" || $file="*.gif" || $file="*.png") && $file!="picture0.*") {
         $galleryEventFile[$count] = $file;
         $count++;
      }
   }
   closedir($dir_handle);
Run Code Online (Sandbox Code Playgroud)

我认为这与这一行有关:

if (!is_dir($url.'/'.$file) && ($file="*.jpg" || $file="*.gif" || $file="*.png") && $file!="picture0.*")
Run Code Online (Sandbox Code Playgroud)

但我不确定

php readdir

0
推荐指数
1
解决办法
113
查看次数

perl readdir没有列出所有文件

readdir实际上没有读取给定文件夹中的所有文件.我只看到以下三个文件和一个文件夹:

main.cpp
main.hpp
imageLoader.hpp
util
Run Code Online (Sandbox Code Playgroud)

而如果我使用bash,ls -lat我会得到以下列出的文件:

drwxrwxr-x 11 me me 4096 Jun 30 10:48 ..
-rw-rw-r--  1 me me 7797 Jun 30 10:19 main.cpp
-rw-rw-r--  1 me me  690 Jun 30 10:18 crate.hpp
-rw-rw-r--  1 me me 2691 Jun 30 10:18 crate.cpp
drwxrwxr-x  2 me me 4096 Jun 30 00:02 util
drwxrwxr-x  3 me me 4096 Jun 29 23:37 .
-rw-rw-r--  1 me me 2584 Jun 22 19:38 imageLoader.cpp
-rw-rw-r--  1 me me  333 Jun …
Run Code Online (Sandbox Code Playgroud)

perl readdir

0
推荐指数
1
解决办法
1412
查看次数

如何隐藏 和C中的文件夹?

我正在尝试使用语言C列出文件夹的所有文件夹和所有文件.

这是以下代码:

#include <errno.h>
#include <stdio.h>
#include <dirent.h>
#include <sys/stat.h>

int main (int argc, char *argv[])
{
    struct dirent *direnp;
    struct stat filestat;
    DIR *dirp;

    if (argc != 2) {
        printf("error");
        return 1;
    }

    if ((dirp = opendir(argv[1])) == NULL) {
        printf("error");
        return 1;
    }

    while ((direnp = readdir(dirp)) != NULL)
    {
        stat(direnp->d_name, &filestat);
        printf("%s\n", direnp->d_name); 
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

进入cmd ./file.c文件夹后

此代码的输出是:

folder1
folder2
file1.txt
..
.
file2.txt
Run Code Online (Sandbox Code Playgroud)

我想删除这部分:

..
.
Run Code Online (Sandbox Code Playgroud)

所以我希望的输出是:

folder1
folder2
file1.txt
file2.txt
Run Code Online (Sandbox Code Playgroud)

如何隐藏3个点?

(编辑:代码中有一些错误.我纠正了它)

c file dir stat readdir

0
推荐指数
1
解决办法
134
查看次数

PHP中的scandir()太慢了

目标目录有1000万个+文本文件.using $a = scandir()在网页上是致命的慢.需要数组结果不到两秒钟.过滤不起作用(也扫描整个列表)

所有我能想到的是使用一个perlc程序来预处理并将目标目录中的x千个文件名填充到一个文件中,标记目标目录中的文件名,最后用一个.pi(或其他东西)选中并使用php的file()函数来获取而是从文件中的列表.

我需要打开并处理每个文件,然后才能填入表中.仅供参考.我不能等待超过1-2秒的时间让阵列可用.任何协助赞赏.记忆不是问题.hdd空间不是问题,处理器能力不是问题.问题是在使用网页前端时快速获取阵列中的列表.我等不及了,因为我厌倦了等待.

我试图用一个简短快速的C程序与opendirreaddir,但即使它需要近4分钟时间扫描目录列表.至少我可以在它上面放一个调控器来限制x文件.

看来答案是调用perl或者c,我可以限制X文件,我可以把这个程序system()backticks.那个列表可以打开file()...... OTF ......有道理吗?

php c perl readdir scandir

0
推荐指数
1
解决办法
1054
查看次数

为什么readdir之后stat不工作?

我写了一个打印目录名或文件名的程序.这很容易,但我遇到了麻烦.它无法区分目录和文件类型.我知道,我用stat.st_mode来完成它.但有些不对劲: 在此输入图像描述

当我使用gdb检查st_mode值时,我发现它是0,除了"." 和"..",所以这里有一个问题:为什么st_mode为0?

那是我的代码:

#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <sys/stat.h>

int main(void)
{
    DIR *pDir = opendir("MyDirectory");
    struct dirent *pDirent;
    struct stat vStat;

    if (pDir == NULL)
    {
        printf("Can't open the directory \"MyDirectory\"");
        exit(1);
    }

    while ((pDirent = readdir(pDir)) != NULL)
    {
        stat(pDirent->d_name, &vStat);
        if (S_ISDIR(vStat.st_mode))
            printf("Directory: %s\n", pDirent->d_name);
        else
            printf("File: %s\n", pDirent->d_name);
    }

    closedir(pDir);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c linux file readdir

0
推荐指数
1
解决办法
1282
查看次数

标签 统计

readdir ×5

c ×3

file ×2

perl ×2

php ×2

dir ×1

linux ×1

scandir ×1

stat ×1