Сканирование текущей папки с использованием PHP - PullRequest
3 голосов
/ 29 октября 2009

У меня есть такая структура папок:

/articles
     .index.php
     .second.php
     .third.php
     .fourth.php

Если я пишу свой код в second.php, как я могу проверить текущую папку (статьи)?

Спасибо

Ответы [ 8 ]

12 голосов
/ 29 октября 2009
$files = glob(dirname(__FILE__) . "/*.php");

http://php.net/manual/en/function.glob.php

5 голосов
/ 30 октября 2009
foreach (scandir('.') as $file)
    echo $file . "\n";
2 голосов
/ 29 октября 2009
<?php

$path = new DirectoryIterator('/articles');

foreach ($path as $file) {
    echo $file->getFilename() . "\t";
    echo $file->getSize() . "\t";
    echo $file->getOwner() . "\t";
    echo $file->getMTime() . "\n";
}

?>

Из стандартной библиотеки PHP (SPL)

2 голосов
/ 29 октября 2009

Из руководства PHP :

$dir = new DirectoryIterator(dirname($path));
foreach ($dir as $fileinfo) {
    if (!$fileinfo->isDot()) {
        var_dump($fileinfo->getFilename());
    }
}
1 голос
/ 29 октября 2009

Это зависит от того, что вы подразумеваете под «сканированием». Я предполагаю, что вы хотите сделать что-то вроде этого:

$dir_handle = opendir(".");

 while($file = readdir($dir_handle)){
      //do stuff with $file
 }
0 голосов
/ 11 апреля 2016

Список всех изображений в папке

$dir = glob(dirname(__FILE__));

$path = $dir[0].'\\images';

$imagePaths = array_diff( scandir( $path ), array('.', '..', 'Thumbs.db')); 
?>
<ul style="overflow-y: auto; max-height: 80vh;">
<?php

    foreach($imagePaths as $imagePath)
    {
?>
    <li><?php echo '<img class="pagina" src="images/'.$imagePath.'" />'; ?></li>
<?php
    }
        ?>
</ul>
0 голосов
/ 09 ноября 2015

попробуйте

   $dir = glob(dirname(__FILE__));
   $directory = array_diff(scandir($dir[0]), array('..', '.'));
   print_r($directory);
0 голосов
/ 13 сентября 2014

Сканирование текущей папки

$zip = new ZipArchive();
$x = $zip->open($filepath);
if ($x === true) {
  $zip->extractTo($uploadPath); // place in the directory
  $zip->close();

  $fileArray = scandir($uploadPath);
    unlink($filepath);
}
 foreach ($fileArray as $file) {
    if ('.' === $file || '..' === $file) 
    continue;
    if (!is_dir("$file")){
       //do stuff with $file
    }
}
...