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]   

> Без описания
newrenegade
Отправлено: 20 Октября, 2011 - 17:19:18
Post Id


Новичок


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


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




Доброго времени суток, уважаемые. Вопрос от новичка:

Есть сервер с Апач2.2+ПХП5. Нужно организовать поиск по директориям. Мои гениальные юристы втихаря сканили договора всей фирмы (где то 35 гигов тифовских файлов) с надеждой на то, что к этой базе будут иметь доступ все кураторы через сайт.
Ума не приложу как организовать доступ с помощью PHP. По ФТП? - нет возможности поиска по номерам договоров, по названию. Не пойдет.

Можно ли как то проиндексировать все файлы, так, чтобы по форме юзер набивал номер договора - ему выдавалась ссылка.

Попробовал - http://feng1[dot]fatal[dot]ru/phprusearch/readme[dot]html - бесполезно, виснет при индексации.

Заранее благодарен за любую помощь.
 
 Top
DlTA
Отправлено: 20 Октября, 2011 - 17:35:18
Post Id



Постоянный участник


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


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




newrenegade пишет:
Попробовал - http://feng1[dot]fatal[dot]ru/phprusearch/readme[dot]html - бесполезно, виснет при индексации.

оно и понятно
readme.html пишет:
Подходит для большинства малых и средних сайтов (обрабатывает сайты объемом порядка 10Mb)
newrenegade пишет:
где то 35 гигов тифовских файлов


правильно понял, что на входе есть немерянная куча файлов и вам нужен поиск по части имени файл
или как?
 
 Top
newrenegade
Отправлено: 20 Октября, 2011 - 17:45:15
Post Id


Новичок


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


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




DlTA пишет:
newrenegade пишет:
Попробовал - http://feng1[dot]fatal[dot]ru/phprusearch/readme[dot]html - бесполезно, виснет при индексации.

оно и понятно
readme.html пишет:
Подходит для большинства малых и средних сайтов (обрабатывает сайты объемом порядка 10Mb)
newrenegade пишет:
где то 35 гигов тифовских файлов


правильно понял, что на входе есть немерянная куча файлов и вам нужен поиск по части имени файл
или как?


Абослютно верно. По самому тифу искать не надо, нужно искать только по вложенным папкам и именам файлов(учитывая кириллицу). Понимаю, да, дебилизм, но выхода нет. То есть есть куча договоров в несколько тысяч файлов пронумерованных, с названиями, юзер вводит в поиск номер 1100 - ему выдается ссылка на скачивание этого тифовского файла.
 
 Top
illy
Отправлено: 20 Октября, 2011 - 19:09:00
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


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




PHP:
скопировать код в буфер обмена
  1.  
  2. номер без пробелов
  3. <form method=post>
  4. <input name=find type=text>
  5. <input type=submit value=Найти>
  6. </form>
  7. <?PHP
  8. if(empty($_POST['find']) || !is_numeric($_POST['find'])){exit;}
  9.  
  10. $document_root='.'; // папка поиска
  11. $type='tif'; // формат файла (найдёт tif и tiff)
  12.  
  13. $find=$_POST['find'];
  14. function sc($r = '../',$find,$type){
  15. $fs=array('fs'=>array(),'dirs'=>array());
  16. $ds=array();
  17. $lt=$r[strlen($r)-1];
  18. $r=($lt=='\\' || $lt=='/') ? $r : $r.DIRECTORY_SEPARATOR;
  19. $ds[]=$r;
  20. while(sizeof($ds)){
  21. $dir=array_pop($ds);
  22. if($h=opendir($dir)){
  23. while(false!==($f=readdir($h))){
  24. if($f=='.' || $f=='..'){continue;}
  25. $f=$dir.$f;
  26. if(is_dir($f)){
  27. $p=$f.DIRECTORY_SEPARATOR;
  28. array_push($ds,$p);
  29. $fs['dirs'][]=$p;
  30. }
  31. elseif(is_file($f) && preg_match('#'.$find.'\.'.$type.'#i',$f)){
  32. echo '<a href=\''.$f.'\'>'.$f.'</a><br>';
  33. $fs['fs'][]=$f;
  34. }
  35. }
  36. }
  37. }
  38. return $fs;
  39. }
  40.  
  41. $structure=sc($document_root,$find,$type);
  42.  
  43. ?>
  44.  


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
newrenegade
Отправлено: 21 Октября, 2011 - 06:00:04
Post Id


Новичок


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


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




illy

Благодарю. По папке ищет.

1. Можно ли искать не только по папке но и по вложенным?
2. Есть ли возможность поиска не только по номеру но и по имени файла? По кириллице.
Например "сметы"

(Отредактировано автором: 21 Октября, 2011 - 08:09:21)

 
 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