Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как можно прочитать файлы с папки и названия сравнить  (Прочитано 8625 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Slavik333
Гость
« : 23-10-2005 18:44 » 

Как можно прочитать файлы с папки и названия сравнить с другими мне нужными...
<?PHP
if ($handle = opendir('./lang'))
{
   while (false !== ($file = readdir($handle)))
   {
   if($file!=="" and $file!==".")
   {
   if($file!==".." and $file!=="...")
   {
   if($file!=="lang_check_temp.dat")
   {
   for($z=0; $z<=count($file); ++$z)
   {
   print $file[$z]."<br>";
   }
   }
   }
   }
   }
closedir($handle);
}
?>
Почему-то print $file[$z] даёт мне только первые две буквы названий файлов...
Не могу найти выход...
« Последнее редактирование: 14-12-2007 23:44 от Алексей1153++ » Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 23-10-2005 20:09 » 

Slavik333, это потому, что плохо читаешь доки... Это ж не С какой-нибудь, а php. Строки тут - не то же, что и массивы.
Цитата
к отдельным символам можно обращаться с помощью фигурных скобок
Ф-ия count() к строкам не применима.

http://www.php.net/manual/ru/function.readdir.php
http://www.php.net/manual/ru/function.count.php
http://www.php.net/manual/ru/function.strlen.php
http://www.php.net/manual/ru/function.substr.php

Код:
<?php
if ( $handle opendir(&#39;lang&#39;) ) // для открытия файла указывать текущую директорию не нужно
{
   while ( 
$file readdir($handle) ) // С-шные правила тут не рулят
   
{
        if ( 
preg_match(&#39;/^\.{0,3}$/&#39;, $file) ) continue; // регулярные выражения проще и гибче сравнений
        
echo join(&#39;<br>&#39;, str_split($file)) . &#39;<br>&#39;; // нарезать и замешать - меньше телодвижений, а работает быстрее
    
}
}
« Последнее редактирование: 14-12-2007 23:45 от Алексей1153++ » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Slavik333
Гость
« Ответ #2 : 24-10-2005 16:09 » new

Вот нашёл выход !!!

Код:
<?php

if ($handle opendir(&#39;./lang&#39;))
{
while (false !== ($file readdir($handle)))

if($file!=="" and $file!==".")
{
if($file!==".." and $file!=="...")
{
if($file!=="lang_check_temp.dat")
{
$str="";
$z="0";
while(substr($file$z))
{
$str.=$file{$z};
++$z;
}
print substr($str0, -4)."<br>";
}
}
}
}
closedir($handle); 
}
?>
« Последнее редактирование: 12-12-2007 16:19 от Алексей1153++ » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines