标签: readdir

php读取目录排序

我有一个小的PHP脚本,它读取一个目录,然后将所有文件(在本例中为jpg)回显到jquery图像滑块.它工作得很好,但我不知道如何通过名称desending对图像进行排序.目前图像是随机的.

<?php
$dir = 'images/demo/';
if ($handle = opendir($dir)) {

while (false !== ($file = readdir($handle))) {
    echo '<img src="'.$dir.$file.'"/>';
}

closedir($handle);
}
?>
Run Code Online (Sandbox Code Playgroud)

对此的任何帮助都会很棒.

还有一件事,我不明白.脚本在那个不存在的文件夹中出现2个无名的非jpg文件??? 但我还是真的检查过那个

php readdir

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

如何在Perl中读取多个目录并读取子目录的内容?

我有一个文件夹,里面有很多子文件夹.在这些子文件夹中,我有许多.html文件要读取.我写了以下代码来做到这一点.它打开父文件夹和第一个子文件夹,它只打印一个.html文件.它显示错误:

NO SUCH FILE OR DIRECTORY
Run Code Online (Sandbox Code Playgroud)

我不想改变整个代码.对现有代码的任何修改对我都有好处.

 use FileHandle;
 opendir PAR_DIR,"D:\\PERL\\perl_programes\\parent_directory";
 while (our $sub_folders = readdir(PAR_DIR))
 {
         next if(-d $sub_folders);

         opendir SUB_DIR,"D:\\PERL\\perl_programes\\parent_directory\\$sub_folders";
         while(our $file = readdir(SUB_DIR))
         {

       next if($file !~ m/\.html/i);
            print_file_names($file);    
         }
         close(FUNC_MODEL1);    
 }
 close(FUNC_MODEL);

  sub print_file_names()
  {
     my $fh1 = FileHandle->new("D:\\PERL\\perl_programes\\parent_directory\\$file")  
               or die "ERROR: $!"; #ERROR HERE 
     print("$file\n");
  }
Run Code Online (Sandbox Code Playgroud)

recursion perl readdir

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

为什么我不能打开Perl的readdir返回的文件?

嗯,我知道这是另一个新手问题,但我非常沮丧,我希望再次开悟.在你们的指导下,我已经学会了如何使用glob函数来读取目录中每个文件的内容.现在我正在尝试readdir-foreach组合做同样的事情,但我一直收到"无法打开文件:权限被拒绝"错误.为什么会发生与管理员相同的目录,相同的文件和相同的文件.有人可以告诉我我做错了什么吗?谢谢.

以下代码使用glob函数,它可以工作:

#! perl
my $dir = 'f:/corpus/';
my @files = glob "$dir/*";
foreach my $file (@files) {
open   my $data, '<',"$file" or die "Cannot open FILE";
while(<$data>) {
...}
Run Code Online (Sandbox Code Playgroud)

以下代码失败,错误消息显示"无法打开文件:权限被拒绝".但为什么?

#! perl
my $dir = 'f:/corpus/';
opendir (DIR,'f:/corpus/') or die "Cannot open directory:$!";
my @files=readdir(DIR);
closedir DIR;
foreach my $file (@files) {
open   my $data, '<',"$file" or die "Cannot open FILE:$!";
while(<$data>) {
...}
Run Code Online (Sandbox Code Playgroud)

perl readdir

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

仅列出常规文件(无目录)问题

你知道为什么这个程序没有列出某些文件,即使它们是"常规"的吗?:

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

int main(void) {
  DIR *dh = opendir("./"); // directory handle
  struct dirent *file; // a 'directory entity' AKA file    
  struct stat info; // info about the file.
  while (file = readdir(dh)) {
    stat(file->d_name, &info);
    printf("note: file->d_name => %s\n", file->d_name);
    printf("note: info.st_mode => %i\n", info.st_mode);
    if (S_ISREG(info.st_mode))
      printf("REGULAR FILE FOUND! %s\n", file->d_name);
  }
  closedir(dh);

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

执行完这个程序后,我得到了这个:

note: file->d_name => .
note: info.st_mode => 16877
note: file->d_name => .. …
Run Code Online (Sandbox Code Playgroud)

c directory posix stat readdir

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

在perl中对目录进行排序,将数字考虑在内

我想我需要某种Schwartzian变换来实现这个功能,但是我很难搞清楚它,因为perl不是我最强的语言.

我有一个包含内容的目录:

album1.htm
album2.htm
album3.htm
....
album99.htm
album100.htm
Run Code Online (Sandbox Code Playgroud)

我正试图从这个目录中获得具有最高编号的专辑(在本例中为album100.htm).请注意,文件上的时间戳不是确定事物的可靠方法,因为人们在事后添加了旧的"丢失"专辑.

以前的开发人员只是使用下面的代码片段,但是一旦目录中有超过9个专辑,这显然就会崩溃.

opendir(DIR, PATH) || print $!;
@files = readdir(DIR);
foreach $file ( sort(@files) ) {
    if ( $file =~ /album/ ) {
        $last_file = $file;
    }
}
Run Code Online (Sandbox Code Playgroud)

sorting perl readdir

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

如何从 readdir 中排除隐藏的文件夹和文件?

是否可以从该readdir()功能中排除隐藏的文件和文件夹?我有一个目录,其中有许多文件夹和一些隐藏文件夹。我想阅读除隐藏文件夹之外的所有文件夹。

谢谢你的帮助。

卡西姆

php readdir hidden-files

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

grep为什么还包括.和..在我的文件列表中,即使它与我给它的正则表达式不匹配?

我想要做的是获取所有UTF16 Unicode图表的集合.我从http://unicode.org/charts/PDF/下载了所有pdf文件,并决定使用perl来删除所有特殊或UTF32图表,其中包含以下脚本:

#!/usr/bin/perl

opendir(my $dir, ".");
my @files = grep {!/^U[0-9,A-F]{4}\.pdf/ && !/utf16only.pl/} readdir($dir);
for $f (@files)
{
    print "deleting $f...\n";
    #unlink $f;
}
closedir($dir);
Run Code Online (Sandbox Code Playgroud)

当我运行脚本时,我得到以下输出:

C:\Users\Evan\Downloads\Unicode 6.1 Charts>utf16only.pl
deleting ....
deleting .....
deleting 10FF80.pdf...
deleting ErrorLink.pdf...
deleting U10000.pdf...
deleting U100000.pdf...
deleting U10080.pdf...
deleting U10100.pdf...
deleting U10140.pdf...
deleting U10190.pdf...
deleting U101D0.pdf...
deleting U10280.pdf...
deleting U102A0.pdf...
deleting U10300.pdf...
deleting U10330.pdf...
deleting U10380.pdf...
deleting U103A0.pdf...
deleting U10400.pdf...
deleting U10450.pdf...
deleting U10480.pdf...
deleting U10800.pdf...
deleting U10840.pdf...
deleting U10900.pdf...
deleting U10920.pdf...
deleting …
Run Code Online (Sandbox Code Playgroud)

regex filesystems perl readdir unlink

1
推荐指数
2
解决办法
310
查看次数

C - 列出文件夹和所有子文件夹中包含的文件

我有一个函数读取单个输入目录中包含的所有文件.
我想让该函数不仅读取"main"目录中的文件,还读取所有子目录中包含的文件.

为了做到这一点,我写了这段代码:

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

struct dirent *readdir(DIR *dirp);
char * percorso;
DIR *cartella;
struct dirent *elemento;



char * scrivi(char * a, char * b)
{

char *targetdir = malloc(2048);
strcpy(targetdir,a);
strcat(targetdir,"/");
strcat(targetdir,b);

printf("%s \n", targetdir); 
return targetdir;
}    

void scorriFolder(char* nome)
{
if ((cartella = opendir(nome)) == NULL)         
    perror("opendir() error");                      
else {
    printf("contents of root: \n");
    while ((elemento = readdir(cartella)) != NULL)
    {                                               
        if(elemento->d_type == DT_DIR)
        {
            if(elemento->d_name != ".." || elemento->d_name != …
Run Code Online (Sandbox Code Playgroud)

c directory readdir subdirectory

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

PHP中的文件夹树

我想在php中列出文件夹的内容。

但是我只想显示文件夹而不是文件。

另外,我想最多显示一个子文件夹!

请问你能帮帮我吗 !

我的代码:

<?php
function mkmap($dir){
    echo "<ul>";   
    $folder = opendir ($dir);

    while ($file = readdir ($folder)) {   
        if ($file != "." && $file != "..") {           
            $pathfile = $dir.'/'.$file;           
            echo "<li><a href=$pathfile>$file</a></li>";           
            if(filetype($pathfile) == 'dir'){               
                mkmap($pathfile);               
            }           
        }       
    }
    closedir ($folder);    
    echo "</ul>";   
}
?>

<?php mkmap('.'); ?>
Run Code Online (Sandbox Code Playgroud)

php readdir opendir

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

打印给定目录的文件和子目录

我试图从给定的目录中获取所有文件和目录,但我不能指定什么是类型(文件/目录).什么都没打印出来.我做错了什么以及如何解决它.这是代码:

sub DoSearch {
    my $currNode = shift;
    my $currentDir = opendir (my $dirHandler, $currNode->rootDirectory) or die $!;

    while (my $node = readdir($dirHandler)) {
        if ($node eq '.' or $node eq '..') {
            next;
        }

        print "File: " . $node . "\n" if -f $node;
        print "Directory " . $node . "\n" if -d $node;
   }

   closedir($dirHandler);
}
Run Code Online (Sandbox Code Playgroud)

perl file readdir subdirectory

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