|
|
|
|
|
для: Akira
(21.07.2005 в 23:06)
| | Альтернатива
<?php
function scan_dir($dirname)
{
# Если путь пустой, то используем текущий каталог
empty($dirname) ? $dirname = "*" : $dirname = $dirname."/*";
$dir = glob($dirname);
if ($dir)
{
foreach($dir as $filename)
{
if (is_file($filename))
{
echo "$filename - ";
echo date("m.d.y",filemtime($filename))." - ";
echo filesize($filename)."<br>";
}
if (is_dir($filename))
{
scan_dir($filename);
echo "$filename <br />";
}
}
}
}
scan_dir("");
?>
|
| |
|
|
|
|
|
|
|
для: Akira
(22.07.2005 в 00:42)
| | Глобальные переменные обычно только запутывают код, если есть возможность написать код без них - нужно поступать именно так - это потом окупится. Использовать их следует только тогда, когда вообще никак не получается без них обойтись. | |
|
|
|
|
|
|
|
для: isset
(22.07.2005 в 02:34)
| | :) По-моему это общая проблема програмистов ;)) Мне на пример иногда требуеться до 5 мин. что бы осмыслить что я написал и как это работает :) | |
|
|
|
|
|
|
|
для: Akira
(22.07.2005 в 01:42)
| | Будто я понимаю что пишу :-) | |
|
|
|
|
|
|
|
для: isset
(22.07.2005 в 01:27)
| | Лично для меня этот код просто набор символов, который трудно прочитать. :))
Я думаю, что несколько комментариев не помешало бы. | |
|
|
|
|
|
|
|
для: Akira
(22.07.2005 в 01:23)
| | Т.к. эта функция только в PHP 5 появилась, а итераторами если делать, то намного удобнее (выше я уже привел пример, можно например узнать размер файла, полный путь к нему, права , владельца, группу ....) да и просто украсить список можно :) | |
|
|
|
|
|
|
|
для: isset
(22.07.2005 в 01:12)
| | А зачем изобретать колесо? :)
http://php.net/scandir | |
|
|
|
|
|
|
|
для: Akira
(22.07.2005 в 00:42)
| | Написал для PHP5 :
<?php
function list_dir($dit,$nbsp='') {
for( ; $dit->valid(); $dit->next()) {
if($dit->isDir() && !$dit->isDot()) {
echo $nbsp.' - <b>'.$dit->current().':</b><br>';
if($dit->hasChildren()) echo list_dir($dit->getChildren(),$nbsp.' ');
} elseif($dit->isFile()) echo $nbsp.$dit->current().' (<i>'.$dit->getSize().' байт</i>)<br>';
}
}
list_dir(new RecursiveDirectoryIterator('c:/www'));
?>
|
Правда если только файлы нужны:
<php
foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator('./')) as $list) {
echo $list->current().'<br>';
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(21.07.2005 в 23:32)
| | Понятно, интересно , а можно скрипт облегчить используя glob? У меня как-то не получилось, потому, что стал виснуть Апач :( | |
|
|
|
|
|
|
|
для: Akira
(21.07.2005 в 23:06)
| | 1) Чтобы если файл на или директория начинаются с 0 не происходило сбоя - такое имя будет интерпретироваться как false без !==
2) Там внизу рабочий вариант - первый сбойный, параметры ,$fd,$fb - нужно убрать. | |
|
|
|
|