Листинг папки с записью в массив - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - Visavi.net https://visavi.net/ [email protected] (admin) [email protected] (admin) Wed, 15 Jan 2025 13:03:18 +0300 На сколько я помню, в пхп 5.3 можно так<br> $arr = scandir(&#039;glob://полный_путь/*.html&#039;); <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 Листинг папки с записью в массив Studentsov Mon, 02 Aug 2010 12:40:17 +0400 Сообщения https://visavi.net/topics/12176/216714 6. <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 Листинг папки с записью в массив KOZZ Mon, 02 Aug 2010 10:26:45 +0400 Сообщения https://visavi.net/topics/12176/216645 не, ну я конкретно про сравнение glob() и opendir() https://visavi.net/topics/12176/216636 Листинг папки с записью в массив Azzido Mon, 02 Aug 2010 09:29:06 +0400 Сообщения https://visavi.net/topics/12176/216636 9, мне лучше свой <img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> он ничем не уступает в принципе, сравни мой и способ &quot;Студента_trollface&quot; в действии - его способ еще дорабатывать до нужного мне результата, а разницы ощутимой я не вижу, так что смысла нет. https://visavi.net/topics/12176/216630 Листинг папки с записью в массив KOZZ Mon, 02 Aug 2010 08:37:46 +0400 Сообщения https://visavi.net/topics/12176/216630 6, этот пример - фигня, обрати внимание, что там цикл из 20 итераций, и 0.02 для этого очень даже неплохо, обычно же применяется всего одна функция glob и время выполнения совсем незначительно https://visavi.net/topics/12176/216623 Листинг папки с записью в массив Azzido Mon, 02 Aug 2010 08:13:49 +0400 Сообщения https://visavi.net/topics/12176/216623 7,спасибо, но не очень я классы люблю. https://visavi.net/topics/12176/216614 Листинг папки с записью в массив KOZZ Mon, 02 Aug 2010 04:43:08 +0400 Сообщения https://visavi.net/topics/12176/216614 1, <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> &quot;The result was:<br> 0.0069890022277832 (opendir time)<br> 0.027945041656494 (glob time)&quot; https://visavi.net/topics/12176/216430 Листинг папки с записью в массив KOZZ Sun, 01 Aug 2010 20:29:16 +0400 Сообщения https://visavi.net/topics/12176/216430 3, спасибо что не остался равнодушным ;) https://visavi.net/topics/12176/216423 Листинг папки с записью в массив KOZZ Sun, 01 Aug 2010 20:12:01 +0400 Сообщения https://visavi.net/topics/12176/216423 3, я думал сделать это примерно как ты,через 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 Листинг папки с записью в массив KOZZ Sun, 01 Aug 2010 20:02:10 +0400 Сообщения https://visavi.net/topics/12176/216420 <pre class="prettyprint">&lt;?php function list_dir ($url) { static $outp; static $i; if (empty ($outp)) $outp = array (); if (empty ($i)) $i = 0; $files = glob ($url . &#039;/*&#039;); if (is_array ($files)) { foreach ($files as $file) { # На *nix и Linux нужно указывать koi8-u $file = iconv (&#039;windows-1251&#039;, &#039;utf-8&#039;, $file); if (is_dir ($url . &#039;/&#039; . $file)) $outp&#91;$file] = list_dir ($url . &#039;/&#039; . $file); else $outp&#91;] = $file; ++$i; }} return $outp; } ?&gt;</pre> https://visavi.net/topics/12176/216418 Листинг папки с записью в массив Studentsov Sun, 01 Aug 2010 19:54:24 +0400 Сообщения https://visavi.net/topics/12176/216418 а оказывается все было так просто...<br> надо было вместо elseif вставить else,т.к. иначе сбивался счетчик<br> <pre class="prettyprint">&lt;? function list_dir ($url) { $i = 0; $dir = opendir($url); while (false !== ($file = readdir($dir))) { if(($file !=&#039;.&#039;) &amp;&amp; ($file !=&#039;..&#039;)) { $file = iconv(&#039;cp1251&#039;,&#039;utf-8&#039;,$file); if(is_dir(&quot;$url/$file&quot;)){$outp&#91;$file] = list_dir(&quot;$url/$file&quot;);} else{ $outp&#91;] = $file;} $i++; } } closedir($dir); return $outp; } ?&gt;</pre> https://visavi.net/topics/12176/216409 Листинг папки с записью в массив KOZZ Sun, 01 Aug 2010 19:37:39 +0400 Сообщения https://visavi.net/topics/12176/216409 нужна немного необычная функция листинга директории.<br> надо чтоб работала так:<br> 1) открываю директорию, считываю названия всех файлов / папок<br> 2)если папка - делаю массив с ключом [название папки]=&gt; и значениями array(файл1,файл2,файл3)<br> ------------------<br> результат должен быть таким:<br> содержимое папок:<br> <br> папка1:<br> &gt; файл1.мп3<br> &gt; файл2.мп3<br> &gt; папка2:<br> &gt;&gt;файл3.мп3<br> &gt;&gt;файл4.мп3<br> <br> <br> array([&#039;папка1&#039;]=&gt;array([0]=&gt;&#039;файл1.мп3&#039;,[1]=&gt;&#039;файл2.мп3&#039;,[&#039;папка2&#039;]=&gt;array([0]=&gt;&#039;файл3.мп3&#039;,[1]=&gt;&#039;файл4.мп3&#039;)))<br> ------------------<br> делаю так:<br> <pre class="prettyprint">&lt;? function list_dir ($url) { $i = 0; $dir = opendir($url); while (false !== ($file = readdir($dir))) { if(($file !=&#039;.&#039;) &amp;&amp; ($file !=&#039;..&#039;)) { $file = iconv(&#039;cp1251&#039;,&#039;utf-8&#039;,$file); if(is_dir(&quot;$url/$file&quot;)){$outp&#91;$file] = list_dir(&quot;$url/$file&quot;);} elseif(is_file(&quot;$url/$file&quot;)){ $outp&#91;] = $file;} $i++; } } closedir($dir); return $outp; } ?&gt;</pre> только почему то в массив входят не все файлы https://visavi.net/topics/12176/216407 Листинг папки с записью в массив KOZZ Sun, 01 Aug 2010 19:31:08 +0400 Сообщения https://visavi.net/topics/12176/216407