[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Текстовый поиск в файлах
sc_nkr
Помогите пожалуйста найти или написать скрипт.
Требуется рекурсивный, текстовый поиск в файлах лежащих в папках на сервере.
Для примера приведу пример команды в bash которую нужно написать на php
find /path -name *.txt | xargs grep 'search_text'
Требуется форма поиска где нужно указать текст который нужно найти, путь, маску файлов (*.txt, *.php и т. д.), кнопка "Искать", окно вывода найденных файлов типа
/path/file123.txt
/path/dir12/file.html
/path/dir12/dir5/index.php

Заранее спасибо smile.gif



Спустя 14 минут, 52 секунды (9.03.2012 - 17:54) m4a1fox написал(а):
sc_nkr
Цитата
Требуется рекурсивный, текстовый поиск в файлах лежащих в папках на сервере.

Судя по положению слов в предложении, это задание. В универе задали?

Спустя 8 минут, 6 секунд (9.03.2012 - 18:02) sc_nkr написал(а):
Цитата (m4a1fox @ 9.03.2012 - 14:54)
sc_nkr
Цитата
Требуется рекурсивный, текстовый поиск в файлах лежащих в папках на сервере.

Судя по положению слов в предложении, это задание. В универе задали?

Нет, по работе нужно сделать

Спустя 8 минут, 34 секунды (9.03.2012 - 18:10) m4a1fox написал(а):
sc_nkr
Цитата
Нет, по работе нужно сделать

А! Ну это другое дело. Ваши примеры и наработки в студию.

Спустя 10 минут, 27 секунд (9.03.2012 - 18:21) sc_nkr написал(а):
Вот что нашел в инете
<form method=post>
<
textarea name=code cols=80 rows=10><?=htmlspecialchars($_REQUEST['code'])?></textarea>
<
br><input type=submit name=go value="GO!">
</
form>
<?
if ($_REQUEST['code'])
{
define('CODE', str_replace("\r\n","\n",$_REQUEST['code']));
define('START_PATH', dirname(__FILE__));
define('LOG',START_PATH.'/filelist.txt');
@unlink(LOG);
Search(START_PATH);
?><iframe src=filelist.txt width=100% height=600></iframe><?
}

function Search($path)
{
if (is_dir($path)) // dir
{
$dir = opendir($path);
while($item = readdir($dir))
{
if ($item == '.' || $item == '..')
continue;

Search($path.'/'.$item);
}
closedir($dir);
}
else // file
{
if (substr($path,-4) == '.php')
{
$str = file_get_contents($path);
$str = str_replace("\r\n","\n",$str);

if (false !== strpos($str,CODE))
Mark($path);
}
}
}


function Mark($file)
{
static $res;
if (!$res)
$res = fopen(LOG,'wb');
if (!$res)
die('no permissions');
fwrite($res,substr($file,strlen(START_PATH))."\n");
}
?>


Сюда бы еще приделать в форму путь и маску для файлов...

Спустя 3 минуты, 21 секунда (9.03.2012 - 18:24) m4a1fox написал(а):
sc_nkr
Напиши сначала форму, и выложи сюда.

Спустя 10 минут, 51 секунда (9.03.2012 - 18:35) sc_nkr написал(а):
m4a1fox я не силен в php :( Могу написать только. Форма нужна такая:
Текст который нужно найти:
Искать в файлах с именем:
Не искать в файлах с именем:
Искать в директории:
Не искать в директории:
Кнопка "Поиск"
Результаты поиска:
В результатах поиска имена файлов с полными путями.

Спустя 6 минут, 56 секунд (9.03.2012 - 18:42) m4a1fox написал(а):
sc_nkr
http://phpforum.ru/journal.php?user=24565
Ниже есть такая тема

Передача данных из формы для самых маленьких smile.gif

Спустя 26 минут, 13 секунд (9.03.2012 - 19:08) johniek_comp написал(а):
sc_nkr
Ну если php не знаешь то нанимай программиста! smile.gif Меня например...

Спустя 7 минут, 45 секунд (9.03.2012 - 19:16) sc_nkr написал(а):
m4a1fox, почитал, но я не готов осилить php ради этого скрипта. Буду благодарен если кто нибудь напишет данный скрипт.
Вышеприведенный скрипт работает, но в нем нет всего функционала, но есть пара ошибок, сейчас на скришоте покажу
user posted image

Спустя 4 минуты, 8 секунд (9.03.2012 - 19:20) johniek_comp написал(а):
Цитата
Буду благодарен если кто нибудь напишет данный скрипт


я могу написать, не бесплатно, пиши в скайп

Спустя 1 минута, 45 секунд (9.03.2012 - 19:22) sc_nkr написал(а):
johniek_comp
скинул в личку контакты
PS ага, вижу скайп...

Спустя 4 дня, 20 часов, 40 минут, 54 секунды (14.03.2012 - 16:03) sc_nkr написал(а):
Так как предыдущий пользователь не откликнулся, может кто-то сможет это реализовать?

Спустя 1 час, 10 минут, 24 секунды (14.03.2012 - 17:13) vital написал(а):
Есть такая замечательная функция glob() которая сделает вам счастье.
RTFM!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.