Справочники, инструменты, документация

PHP: Список файлов из папки

Как прочитать и вывести список файлов из папки, используя простой сценарий PHP?

Самый простой и веселый способ (imo) - это glob:

foreach (glob("*.*") as $filename) {
  echo $filename."<br />";
}

Но стандартным способом является использование функций каталога:

if (is_dir($dir)) {
  if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {
      echo "filename: .".$file."<br />";
    }
    closedir($dh);
  }
}

Есть такая функция scandir():

$dir = 'dir';
$files = scandir($dir, 0);
for($i = 2; $i < count($files); $i++)
  print $files[$i]."<br>";

Вот что мне нравится делать:

$files = array_values(array_filter(scandir($path), function($file) use ($path) { 
  return !is_dir($path . '/' . $file);
}));

foreach($files as $file){
  echo $file;
}

Если у вас есть проблемы с доступом к пути, возможно, вам нужно поставить это:

$root = $_SERVER['DOCUMENT_ROOT'];
$path = "/cv/"; 

// Open the folder
 $dir_handle = @opendir($root . $path) or die("Unable to open $path");

Проверьте во многих папках:

Folder_1 и folder_2-это названия папок, из которых мы должны выбрать файлы.

$format-обязательный формат.

$arr = array("folder_1","folder_2");
$format = ".csv";

for($x=0;$x<count($arr);$x++){
  $mm = $arr[$x];

  foreach (glob("$mm/*$format") as $filename) {
    echo "$filename size " . filesize($filename) . "<br>";
  }
}

Вы можете использовать стандартные функции каталога:

$dir = opendir('/tmp');
while ($file = readdir($dir)) {
  if ($file == '.' || $file == '..') {
    continue;
  }

  echo $file;
}
closedir($dir);
<html>
<head>
<title>Names</title>
</head>
<body style="background-color:powderblue;">

<form method='post' action='alex.php'>
 <input type='text' name='name'>
<input type='submit' value='name'>
</form>
Enter Name:
<?php

 if($_POST)
 {
 $Name = $_POST['name'];
 $count = 0;
 $fh=fopen("alex.txt",'a+') or die("failed to create");
 while(!feof($fh))
 {
  $line = chop(fgets($fh));
  if($line==$Name && $line!="")
  $count=1;
 }
 if($count==0 && $Name!="")
 {
  fwrite($fh, "\r\n$Name"); 
 }
 else if($count!=0 && $line!="") 
 { 
  echo '<font color="red">'.$Name.', the name you entered is already in the list.</font><br><br>';
 }
 $count=0;
 fseek($fh, 0);
 while(!feof($fh))
 {
  $a = chop(fgets($fh));
  echo $a.'<br>';
  $count++;
 }
 if($count<=1)
 echo '<br>There are no names in the list<br>';
 fclose($fh);
 }
?>
</body>
</html>