【问题标题】:How to print all files' names in the "file" folder using php如何使用php打印“文件”文件夹中的所有文件名
【发布时间】:2011-06-01 10:45:36
【问题描述】:

如何使用php打印“file”文件夹中的所有文件名?

/file/

【问题讨论】:

    标签: php path dir


    【解决方案1】:
    foreach(glob('path/to/directory/file/*') as $file)
            echo $file,"\n";
    }
    

    或者只是

    print_r(glob('path/to/directory/file/*'));
    

    【讨论】:

    • 这很好,但你必须但是像“path/to/directory/file/*.*”这样的路径
    【解决方案2】:

    你可以使用glob

    $folder = "file";
    $mask = "*.*";
    $files = glob("" . $folder . $mask);
    foreach ($files as $file)
    {
       $file_name = basename($file,substr($mask,1));  // cut the folder and extension
       echo  $file_name;
    }
    

    【讨论】:

      【解决方案3】:

      发件人:PHP: List Contents of a Directory
      放置您的目录路径而不是"."。注意它不显示隐藏文件(Linux中以.开头)

       // open this directory 
      $myDirectory = opendir(".");
      
      // get each entry
      while($entryName = readdir($myDirectory)) {
       $dirArray[] = $entryName;
      }
      
      // close directory
      closedir($myDirectory);
      
      // count elements in array
      $indexCount = count($dirArray);
      Print ("$indexCount files<br>\n");
      
      // sort 'em
      sort($dirArray);
      
      // print 'em
      print("<TABLE border=1 cellpadding=5 cellspacing=0 class=whitelinks>\n");
      print("<TR><TH>Filename</TH><th>Filetype</th><th>Filesize</th></TR>\n");
      // loop through the array of files and print them all
      for($index=0; $index < $indexCount; $index++) {
              if (substr("$dirArray[$index]", 0, 1) != "."){ // don't list hidden files
        print("<TR><TD><a href=\"$dirArray[$index]\">$dirArray[$index]</a></td>");
        print("<td>");
        print(filetype($dirArray[$index]));
        print("</td>");
        print("<td>");
        print(filesize($dirArray[$index]));
        print("</td>");
        print("</TR>\n");
       }
      }
      print("</TABLE>\n");
      

      【讨论】:

        【解决方案4】:

        DirectoryIterator

        $dir = new DirectoryIterator('/file/');   <-- remember to put in absolute path
        foreach ($dir as $fileinfo) 
        {
          if (!$fileinfo->isDot() && $fileinfo->getType()!='dir') 
          {
            var_dump($fileinfo->getFilename());
          }
        }
        

        【讨论】:

        • 路径不需要是绝对的。由于问题要求提供文件,因此仅使用 isFile() 方法检查它们就足够了。而且,对于它的价值,FilesystemIterator 默认会跳过点文件。
        猜你喜欢
        • 2017-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-10
        相关资源
        最近更新 更多