标签: opendir

以更快的方式检查目录是否存在

我正在使用opendir函数来检查目录是否存在.问题是我在一个巨大的循环中使用它,它正在膨胀我的应用程序使用的ram.

检查C中是否存在目录的最佳(最快)方法是什么?如果不存在,创建它的最佳(最快)方法是什么?

c performance mkdir opendir

20
推荐指数
3
解决办法
6万
查看次数

PHP opendir()仅列出文件夹

我想使用opendir()仅列出特定文件夹中的文件夹(即/ www/site /).我想从列表中排除文件以及'.' 以及出现在linux文件夹列表中的'..'文件夹.我该怎么做呢?

php opendir

15
推荐指数
4
解决办法
4万
查看次数

使用C打开目录

我通过命令行输入接受路径.

当我做

dir=opendir(args[1]);
Run Code Online (Sandbox Code Playgroud)

它没有进入循环......即dir==null......

如何将命令行输入传递给dir指针?

void main(int c,char **args)
{
    DIR *dir;
    struct dirent *dent;
    char buffer[50];
    strcpy(buffer, args[1]);
    dir = opendir(buffer);   //this part
    if(dir!=NULL)
    {
        while((dent=readdir(dir))!=NULL)
            printf(dent->d_name);
    }
    close(dir);
}

./a.out  /root/TEST is used to run the program..
./a.out --> to execute the program
/root/TEST --> input by the user i.e valid path
Run Code Online (Sandbox Code Playgroud)

c opendir

14
推荐指数
1
解决办法
13万
查看次数

如何列出使用PHP按字母顺序排序的目录中的所有文件?

我使用以下PHP代码列出当前目录下的所有文件和文件夹:

<?php
    $dirname = ".";
    $dir = opendir($dirname);

    while(false != ($file = readdir($dir)))
        {
          if(($file != ".") and ($file != "..") and ($file != "index.php"))
             {
              echo("<a href='$file'>$file</a> <br />");
        }
    }
?>
Run Code Online (Sandbox Code Playgroud)

问题是列表不是按字母顺序排序的(也许它按创建日期排序?我不确定).

如何确保按字母顺序排序

php sorting directory readdir opendir

14
推荐指数
2
解决办法
4万
查看次数

Perl的opendir应该总是回归.和..首先?

  opendir MYDIR, "$dir";
  my @FILES = readdir MYDIR;
  closedir MYDIR;
Run Code Online (Sandbox Code Playgroud)

似乎99.9%的时间数组中前两个条目总是"."和"..".如果不是这样,脚本中的后来逻辑就会出现问题.我遇到了以后出现目录条目的情况.这是否表明文件系统已损坏或其他?opendir返回的是否有已知的顺序?

perl opendir

10
推荐指数
3
解决办法
759
查看次数

检查一个目录.readdir返回的条目是目录,链接或文件

我正在制作一个在Linux shell中运行的程序,并接受一个参数(一个目录),并显示目录中的所有文件及其类型.

输出应该是这样的:

 << ./Program testDirectory

 Dir directory1
 lnk linkprogram.c
 reg file.txt
Run Code Online (Sandbox Code Playgroud)

如果没有参数,则使用当前目录.这是我的代码:

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

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

  //If no args
  if (argc == 1)
  {

    argv[1] = ".";
    dirp = opendir(argv[1]); // specify directory here: "." is the "current directory"
    do
    {
      dent = readdir(dirp);
      if (dent)
      {
        printf("%c ", dent->d_type);
        printf("%s \n", dent->d_name);

        /* if (!stat(dent->d_name, &info))
         {
         //printf("%u bytes\n", (unsigned int)info.st_size);

         }*/ …
Run Code Online (Sandbox Code Playgroud)

c linux dirent.h readdir opendir

8
推荐指数
2
解决办法
3万
查看次数

获取目录中图像的文件名

应该怎么做才能使用PHP从文件夹/目录中获取图像的标题(例如abc.jpg)并将它们存储在数组中.

例如:

a[0] = 'ac.jpg'
a[1] = 'zxy.gif'
Run Code Online (Sandbox Code Playgroud)

等等

我将在幻灯片放映中使用该数组.

php opendir

7
推荐指数
3
解决办法
2万
查看次数

C:检查文件的类型.使用lstat()和宏不起作用

我使用opendir()打开一个目录,然后使用readdir()和lstat()来获取该目录中每个文件的统计信息.在这个联机帮助页之后,我编写了代码,在该代码下无法正常工作.它列出了当前目录中的所有文件,但是当文件是常规文件,符号链接或目录时,它不会打印出来.

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

void main(){

    char* folder=".";                                     //folder to open

    DIR* dir_p;
    struct dirent* dir_element;
    struct stat file_info;

    // open directory
    dir_p=opendir(folder);

    // show some info for each file in given directory
    while(dir_element = readdir(dir_p)){

        lstat(dir_element->d_name, &file_info);          //getting a file stats

        puts(dir_element->d_name);                       // show current filename
        printf("file mode: %d\n", file_info.st_mode);

        // print what kind of file we are dealing with
        if (file_info.st_mode == S_IFDIR) puts("|| directory");
        if (file_info.st_mode == S_IFREG) puts("|| regular …
Run Code Online (Sandbox Code Playgroud)

c file-type stat readdir opendir

5
推荐指数
3
解决办法
2万
查看次数

无法打开目录,或者我的(Perl)代码出了什么问题?

我有一个文件名logspath.txt,它包含在机器上的logs目录路径中.每行一个目录.虽然该目录存在,但Perl说它没有.

#!/usr/bin/perl -w

open FILE,"logspath.txt" or die $!;
while (<FILE>){
   print $_;
   opendir ($DIR,chomp($_)) or die $!;
Run Code Online (Sandbox Code Playgroud)

当我运行脚本时,我得到:

/home/amosa/
No such file or directory at archive.pl line 6, <FILE> line 1.
Run Code Online (Sandbox Code Playgroud)

列出目录:

~$ ls -l /home/amosa/
total 6
drwxr-xr-x  11 amosa    prodapp     1024 Mar  2 12:49 deploy
drwxr-xr-x   2 amosa    prodapp      512 Mar  2 12:39 lib
-rw-r--r--   1 amosa    prodapp      787 Mar  2 11:02 s
Run Code Online (Sandbox Code Playgroud)

有什么建议?

perl opendir

4
推荐指数
1
解决办法
6080
查看次数

不同驱动器中文件的路径?

我的 php 文件在这里: D:/Appserv/www/x/y/file.php

我想从这个文件夹加载东西: E:/foldie

我不知道哪条路会带我到那里。

$somePath="HELP ME HERE!!!!"  
$dir=opendir($somePath);

//looping through filenames
while (false !== ($file = readdir($dir))) {
    echo "$file\n";
}
Run Code Online (Sandbox Code Playgroud)

php path relative-path absolute-path opendir

4
推荐指数
1
解决办法
7344
查看次数