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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: ХЕЛП ми плиз!!!!
zarapyan
Отправлено: 05 Апреля, 2010 - 09:48:07
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Апр. 2010  


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




Доброго времени суток! Столкнулся с такой проблемой добавил на сайт Файл-менеджер, прописал ему все пути и прочее, теперь требуется проиндексировать корневую папку для поиска.(Основной поиск сейчас ведется в MySQL) а данная папка является просто Архивом с разными Файлами. Подскажите как это лучше сделать!!!
Заранее благодарю!

(Отредактировано автором: 05 Апреля, 2010 - 10:31:08)

 
 Top
JustUserR
Отправлено: 05 Апреля, 2010 - 11:59:05
Post Id



Активный участник


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


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




zarapyan пишет:
Папка является просто Архивом с разными Файлами. Подскажите как это лучше сделать
То есть вопрос стоит в том чтобы проиндексировать архив? Как правило если данный архив не зашифрован - то встроенными средстами консольного архиватора в принципе можно получить список файлов в нем


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
zarapyan
Отправлено: 05 Апреля, 2010 - 19:27:38
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Апр. 2010  


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




Архив - не в смысле .rar или .zip - а просто архив разных файлов Улыбка Поиск основной идет по идентификаторам в БД, а вот как проиндексировать обычную папку и как сделать в ней идентификаторы я к сожалению не знаю Огорчение
 
 Top
JustUserR
Отправлено: 06 Апреля, 2010 - 13:12:01
Post Id



Активный участник


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


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




zarapyan пишет:
А вот как проиндексировать обычную папку и как сделать в ней идентификаторы я к сожалению не знаю
А индексация по имени файла напрямую вас не устраивает - делаете readdir для папки и рекурсивно для ее подпапок и сохраняете информацию в кеш-файл


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
zarapyan
Отправлено: 06 Апреля, 2010 - 14:26:38
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Апр. 2010  


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




JustUserR пишет:
zarapyan пишет:
А вот как проиндексировать обычную папку и как сделать в ней идентификаторы я к сожалению не знаю
А индексация по имени файла напрямую вас не устраивает - делаете readdir для папки и рекурсивно для ее подпапок и сохраняете информацию в кеш-файл

Огромное спасибо! так и сделаю!
 
 Top
JustUserR
Отправлено: 06 Апреля, 2010 - 17:34:38
Post Id



Активный участник


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


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




zarapyan пишет:
Огромное спасибо! так и сделаю!
Пожалуйста! Только учтите что при рекурсивном обходе подпапок необходимо не забывать закрыть дескрипторы внутренних уровней подпапок


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
zarapyan
Отправлено: 07 Апреля, 2010 - 08:09:58
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Апр. 2010  


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




Цитата:
Пожалуйста! Только учтите что при рекурсивном обходе подпапок необходимо не забывать закрыть дескрипторы внутренних уровней подпапок

Рано я обрадовался, если не трудно, можно более подробно объяснить механизм действия? Буду очень признателен!
 
 Top
JustUserR
Отправлено: 07 Апреля, 2010 - 09:24:46
Post Id



Активный участник


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


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




zarapyan пишет:
Рано я обрадовался, если не трудно, можно более подробно объяснить механизм действия? Буду очень признателен!
Могу вас привести примерный код который будет выполнять индексацию всех файлов в данной папке и всех ее подпапках - и помещать результат по ссылке в передаваемый массив
PHP:
скопировать код в буфер обмена
  1. $all_files=array();
  2. function list_files($folder,&$afl)
  3. {$fp=opendir($folder);
  4. while($cv_file=readdir($fp))
  5. {if(is_file($cv_file)) {$all_files[]=$folder."/".$cv_file;}
  6. elseif(($cv_file!=".")&&($cv_file!=".."))
  7. {list_files($folder."/".$cv_file,$afl);}
  8. else {}}
  9. closedir($fp);
  10. }
  11. list_files("path/to/my/folder",$all_files);


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
zarapyan
Отправлено: 13 Апреля, 2010 - 09:38:43
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Апр. 2010  


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




JustUserR пишет:
zarapyan пишет:
Рано я обрадовался, если не трудно, можно более подробно объяснить механизм действия? Буду очень признателен!
Могу вас привести примерный код который будет выполнять индексацию всех файлов в данной папке и всех ее подпапках - и помещать результат по ссылке в передаваемый массив
PHP:
скопировать код в буфер обмена
  1. $all_files=array();
  2. function list_files($folder,&$afl)
  3. {$fp=opendir($folder);
  4. while($cv_file=readdir($fp))
  5. {if(is_file($cv_file)) {$all_files[]=$folder."/".$cv_file;}
  6. elseif(($cv_file!=".")&&($cv_file!=".."))
  7. {list_files($folder."/".$cv_file,$afl);}
  8. else {}}
  9. closedir($fp);
  10. }
  11. list_files("path/to/my/folder",$all_files);


еще раз извиняюсь за неграмотность.. но что то совсем я запутался, куда вставлять предоставленый вами код и как его потом прикрутить к моему поиску.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         /*
  3.                 Результаты поиска + алгоритмы поиска
  4.         */
  5.         include("core/db_PDO.php");    
  6.         include("core/searchClass.php");
  7.         include("core/includess.php");
  8.  
  9.         (isset($_POST['str'])) ? $str=$_POST['str'] : $str="";
  10.         (isset($_POST['searchplace'])) ? $searchplace=$_POST['searchplace'] : $searchplace="";
  11.  
  12.         if ($str != "")
  13.         {
  14.                 $conn = new iPDO();                            
  15.                 $count = 0;            
  16.                
  17.                 $str_lower = strtolower_utf8($str);
  18.                 $str_lower = str_replace(array(" ", "_"), array("%", "%"), $str_lower);
  19.  
  20.                 $result = new SearchResult();          
  21.                
  22.                         switch ($searchplace)
  23.                         {
  24.                                 case "all":
  25.                                 {
  26.                                         //$sql = "SET NAMES utf8 COLLATE utf8_general_ci";
  27.                                         //$conn->exec($sql);
  28.  
  29.                                         selectName1();
  30.                                         selectName2();
  31.                                         selectName3(); - здесь  стоят имена журналов в Mysql  на сколько я понимаю
  32.                                         selectName4();
  33.                                         selectName5();
  34.                                         selectName6();                         
  35.                                        
  36.                                 };break;


Отредактировано модератором: JustUserR, 13 Апреля, 2010 - 16:59:54
Обрамил PHP-код в соответствующий BB-тег
 
 Top
JustUserR
Отправлено: 13 Апреля, 2010 - 17:11:04
Post Id



Активный участник


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


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




zarapyan пишет:
Но что то совсем я запутался, куда вставлять предоставленый вами код и как его потом прикрутить к моему поиску
Данный код просто составляет список всех файлов в определенной папке и рекурсивно для всех ее подпапок - то есть просто развернутое дерево файлов
В вашем PHP-скрипте его вероятно нужно вставлять в момент изменения набора файлов и необходимости переиндексации


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
zarapyan
Отправлено: 14 Апреля, 2010 - 08:24:46
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Апр. 2010  


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




Цитата:

В вашем PHP-скрипте его вероятно нужно вставлять в момент изменения набора файлов и необходимости переиндексации

Все ступор окончательный Глазки в кучку Глазки в кучку честно совсем не представляю как это сделать:
 
 Top
JustUserR
Отправлено: 14 Апреля, 2010 - 09:22:15
Post Id



Активный участник


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


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




zarapyan пишет:
Все ступор окончательный честно совсем не представляю как это сделать
То что я вам представил это всего-навсго функция получения рекурсивного списка файлов (То еть дерева файлов) Как вы хотели ее первоначально использовать?


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
ALEN
Отправлено: 14 Апреля, 2010 - 10:41:25
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


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




zarapyan
Вам представили простую функцию для рекурсивного получения всех файлов в указанной папке.
Функция знаете что это такое?

В функции создается массив пустой для записи в него всех файлов,потом открываем основной каталог и смотрим какие файлы там есть, если файл является папкой то открываем и смотри что в нем. В результате функция вернет массив со всеми файлами внутри папки.
 
 Top
zarapyan
Отправлено: 14 Апреля, 2010 - 12:29:40
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Апр. 2010  


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




ALEN пишет:
zarapyan
Вам представили простую функцию для рекурсивного получения всех файлов в указанной папке.
Функция знаете что это такое?

В функции создается массив пустой для записи в него всех файлов,потом открываем основной каталог и смотрим какие файлы там есть, если файл является папкой то открываем и смотри что в нем. В результате функция вернет массив со всеми файлами внутри папки.


что такое функция я понял, но все равно никак не могу понять, как мне использовать массив, который мне вернула функция в поиске файлов. поиск в основном ведется в MYSQL как примерно показано выше. Папка же которую тоже требуется добавить в поиск - лежит локально (не в базе), доступ к ней осуществляется через файл-менеджер.(прикрученый к системе)
 
 Top
zarapyan
Отправлено: 15 Апреля, 2010 - 09:54:30
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Апр. 2010  


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




проиндексировал все таки я эту папку, правда при помощи ГуглДесктоп. В папке которую проиндексировал появились различные файлы.(.dat;.xml; .cf1; .ht1 ). Вопрос такой можно ли эти файлы использовать в моем поиске? либо нужно будет создать отдельный поисковый скрипт, котрый бы смог работать с имеющимся набором файлов.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB