Листинг папки с записью в массив - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Wed, 15 Jan 2025 13:03:18 +0300На сколько я помню, в пхп 5.3 можно так<br>
$arr = scandir('glob://полный_путь/*.html'); <img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> <br>
Вот и слились оупэндир и глоб воедино. Гг
https://visavi.net/topics/12176/216805
Листинг папки с записью в массив АртурMon, 02 Aug 2010 15:41:56 +0400Сообщенияhttps://visavi.net/topics/12176/216805Да без разницы, одно и тоже
https://visavi.net/topics/12176/216714
Листинг папки с записью в массив StudentsovMon, 02 Aug 2010 12:40:17 +0400Сообщенияhttps://visavi.net/topics/12176/2167146. <strong>eGo</strong>, если честно не совсем точный тест, почему-то в первом варианте в opendir идет выборка всех файлов из папки, а в glob с применением фильтра html<br>
если убрать это то glob на php 5.3.3 выигрывает в 2 раза<br>
<br>
во-втором тесте у меня такие результаты<br>
0.0045804977417 explode <br>
0.00842428207397 preg <br>
0.00366401672363 glob
https://visavi.net/topics/12176/216669
Листинг папки с записью в массив Вантуз-менMon, 02 Aug 2010 11:47:48 +0400Сообщенияhttps://visavi.net/topics/12176/216669<blockquote class="blockquote"><strong>Azzido</strong> (2 Августа 2010 / 16:29)<br>
не, ну я конкретно про сравнение glob() и opendir()</blockquote>
а, ну ясно тогда )
https://visavi.net/topics/12176/216645
Листинг папки с записью в массив KOZZMon, 02 Aug 2010 10:26:45 +0400Сообщенияhttps://visavi.net/topics/12176/216645не, ну я конкретно про сравнение glob() и opendir()
https://visavi.net/topics/12176/216636
Листинг папки с записью в массив AzzidoMon, 02 Aug 2010 09:29:06 +0400Сообщенияhttps://visavi.net/topics/12176/2166369, мне лучше свой <img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> он ничем не уступает в принципе, сравни мой и способ "Студента_trollface" в действии - его способ еще дорабатывать до нужного мне результата, а разницы ощутимой я не вижу, так что смысла нет.
https://visavi.net/topics/12176/216630
Листинг папки с записью в массив KOZZMon, 02 Aug 2010 08:37:46 +0400Сообщенияhttps://visavi.net/topics/12176/2166306, этот пример - фигня, обрати внимание, что там цикл из 20 итераций, и 0.02 для этого очень даже неплохо, обычно же применяется всего одна функция glob и время выполнения совсем незначительно
https://visavi.net/topics/12176/216623
Листинг папки с записью в массив AzzidoMon, 02 Aug 2010 08:13:49 +0400Сообщенияhttps://visavi.net/topics/12176/2166237,спасибо, но не очень я классы люблю.
https://visavi.net/topics/12176/216614
Листинг папки с записью в массив KOZZMon, 02 Aug 2010 04:43:08 +0400Сообщенияhttps://visavi.net/topics/12176/2166141, <a href="http://ua.php.net/manual/en/class.recursivedirectoryiterator.php" target="_blank" rel="nofollow">http://ua.php.net/manual/en/class.recursivedirectoryiterator.php</a>
https://visavi.net/topics/12176/216597
Листинг папки с записью в массив АртурMon, 02 Aug 2010 01:46:53 +0400Сообщенияhttps://visavi.net/topics/12176/216597кстати почитал про то что быстрее: glob() или opendir().<br>
быстрее opendir().<br>
источник:<br>
<a href="http://code2design.com/forums/glob_vs_opendir" target="_blank" rel="nofollow">http://code2design.com/forums/glob_vs_opendir</a><br>
"The result was:<br>
0.0069890022277832 (opendir time)<br>
0.027945041656494 (glob time)"
https://visavi.net/topics/12176/216430
Листинг папки с записью в массив KOZZSun, 01 Aug 2010 20:29:16 +0400Сообщенияhttps://visavi.net/topics/12176/2164303, спасибо что не остался равнодушным ;)
https://visavi.net/topics/12176/216423
Листинг папки с записью в массив KOZZSun, 01 Aug 2010 20:12:01 +0400Сообщенияhttps://visavi.net/topics/12176/2164233, я думал сделать это примерно как ты,через foreach и glob, но остановился на своем варианте, удобнее, да и привычнее чтоли ))<br>
перекодировка нужна была чтоб на денвере тестить<br>
ну а конкретно твой вариант возвращает немного не то что надо ))<br>
вот какой результат мне нужен был: <a href="http://upwap.ru/974466" target="_blank" rel="nofollow">http://upwap.ru/974466</a>
https://visavi.net/topics/12176/216420
Листинг папки с записью в массив KOZZSun, 01 Aug 2010 20:02:10 +0400Сообщенияhttps://visavi.net/topics/12176/216420<pre class="prettyprint"><?php
function list_dir ($url) {
static $outp;
static $i;
if (empty ($outp)) $outp = array ();
if (empty ($i)) $i = 0;
$files = glob ($url . '/*');
if (is_array ($files)) {
foreach ($files as $file) {
# На *nix и Linux нужно указывать koi8-u
$file = iconv ('windows-1251', 'utf-8', $file);
if (is_dir ($url . '/' . $file)) $outp[$file] = list_dir ($url . '/' . $file);
else $outp[] = $file;
++$i; }}
return $outp; }
?></pre>
https://visavi.net/topics/12176/216418
Листинг папки с записью в массив StudentsovSun, 01 Aug 2010 19:54:24 +0400Сообщенияhttps://visavi.net/topics/12176/216418а оказывается все было так просто...<br>
надо было вместо elseif вставить else,т.к. иначе сбивался счетчик<br>
<pre class="prettyprint"><?
function list_dir ($url) {
$i = 0;
$dir = opendir($url);
while (false !== ($file = readdir($dir))) {
if(($file !='.') && ($file !='..')) {
$file = iconv('cp1251','utf-8',$file);
if(is_dir("$url/$file")){$outp[$file] = list_dir("$url/$file");} else{
$outp[] = $file;}
$i++;
}
}
closedir($dir);
return $outp;
}
?></pre>
https://visavi.net/topics/12176/216409
Листинг папки с записью в массив KOZZSun, 01 Aug 2010 19:37:39 +0400Сообщенияhttps://visavi.net/topics/12176/216409нужна немного необычная функция листинга директории.<br>
надо чтоб работала так:<br>
1) открываю директорию, считываю названия всех файлов / папок<br>
2)если папка - делаю массив с ключом [название папки]=> и значениями array(файл1,файл2,файл3)<br>
------------------<br>
результат должен быть таким:<br>
содержимое папок:<br>
<br>
папка1:<br>
> файл1.мп3<br>
> файл2.мп3<br>
> папка2:<br>
>>файл3.мп3<br>
>>файл4.мп3<br>
<br>
<br>
array(['папка1']=>array([0]=>'файл1.мп3',[1]=>'файл2.мп3',['папка2']=>array([0]=>'файл3.мп3',[1]=>'файл4.мп3')))<br>
------------------<br>
делаю так:<br>
<pre class="prettyprint"><?
function list_dir ($url) {
$i = 0;
$dir = opendir($url);
while (false !== ($file = readdir($dir))) {
if(($file !='.') && ($file !='..')) {
$file = iconv('cp1251','utf-8',$file);
if(is_dir("$url/$file")){$outp[$file] = list_dir("$url/$file");} elseif(is_file("$url/$file")){
$outp[] = $file;}
$i++;
}
}
closedir($dir);
return $outp;
}
?></pre>
только почему то в массив входят не все файлы
https://visavi.net/topics/12176/216407
Листинг папки с записью в массив KOZZSun, 01 Aug 2010 19:31:08 +0400Сообщенияhttps://visavi.net/topics/12176/216407