Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: как получить имя файла (русский текст)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
beza
Отправлено: 20 Октября, 2014 - 20:25:16
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




Есть папка с .txt файлами. Нужно прошерстить всю папку, выбирая в цикле поочередно все файлы с получением имени файла и содержисого. Как получить сожержимое знаю, как организовать перебор и вытянуть имена файлов - увы...
Папку можно указать и ручками, главное - получить последовательно имена всех файлов. Как это сделать? Названия в файлах на кирилице (например Файл номер один, файл номер два и т.д...)
 
 Top
dcc0
Отправлено: 20 Октября, 2014 - 20:56:17
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Может, scandir?
http://www.php.su/scandir


-----
Март 2021. Бросил программирование
 
 Top
Dastor
Отправлено: 20 Октября, 2014 - 21:08:56
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Окт. 2014  


Помог: 3 раз(а)




Для таких целей я обычно использую функцию glob

http://php.net/manual/ru/function.glob.php
 
 Top
beza
Отправлено: 20 Октября, 2014 - 21:33:16
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




Нашел на просторах интернета такую схему - вполне себе работает. Выдает все файлы из директории 1/1/

$ndirct = "1/1";
$nhdl=opendir($ndirct);
while ($nfile = readdir($nhdl))
{
if (($nfile!=".")&&($nfile!=".."))
{
$na[] = $nfile;
$f = fopen("1/1/".$nfile, "r");
echo $nfile;
$qr_result2 = mysql_query("INSERT INTO statyi (Var1) VALUES('".$nfile."')")
or die(mysql_error());
}
}

closedir($nhdl);
if (sizeof($na)!=0)
{
rsort($na);
$vsego=sizeof($na);

}

else
{
echo ("Нет новостей в базе<br><br><a href=news/add_news_form.php>Добавить новость?</a>");
die;
}

Осталась проблема с кодировкой - русский текст отображается в виде кракозяб ( ����� ���� ) Причем кракозябы на php-странице отображаются, а в mysql вообще не заносятся. Я так понимаю, что нужно переконвертировать в из win-1251 в UTF-8.
То, что нашел из советов с форумов ни один не работает...
(Добавление)
Вставляем это:
$in_UTF=iconv("windows-1251", "UTF-8", $nfile);
echo $in_UTF.'<br>';
...и все работает!

(Отредактировано автором: 20 Октября, 2014 - 21:34:50)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB