Требуется рекурсивный, текстовый поиск в файлах лежащих в папках на сервере.
Для примера приведу пример команды в bash которую нужно написать на php
find /path -name *.txt | xargs grep 'search_text'
Требуется форма поиска где нужно указать текст который нужно найти, путь, маску файлов (*.txt, *.php и т. д.), кнопка "Искать", окно вывода найденных файлов типа
/path/file123.txt
/path/dir12/file.html
/path/dir12/dir5/index.php
Заранее спасибо
Спустя 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
Ниже есть такая тема
Передача данных из формы для самых маленьких
http://phpforum.ru/journal.php?user=24565
Ниже есть такая тема
Передача данных из формы для самых маленьких
Спустя 26 минут, 13 секунд (9.03.2012 - 19:08) johniek_comp написал(а):
sc_nkr
Ну если php не знаешь то нанимай программиста! Меня например...
Ну если php не знаешь то нанимай программиста! Меня например...
Спустя 7 минут, 45 секунд (9.03.2012 - 19:16) sc_nkr написал(а):
m4a1fox, почитал, но я не готов осилить php ради этого скрипта. Буду благодарен если кто нибудь напишет данный скрипт.
Вышеприведенный скрипт работает, но в нем нет всего функционала, но есть пара ошибок, сейчас на скришоте покажу
Вышеприведенный скрипт работает, но в нем нет всего функционала, но есть пара ошибок, сейчас на скришоте покажу
Спустя 4 минуты, 8 секунд (9.03.2012 - 19:20) johniek_comp написал(а):
Цитата |
Буду благодарен если кто нибудь напишет данный скрипт |
я могу написать, не бесплатно, пиши в скайп
Спустя 1 минута, 45 секунд (9.03.2012 - 19:22) sc_nkr написал(а):
johniek_comp
скинул в личку контакты
PS ага, вижу скайп...
скинул в личку контакты
PS ага, вижу скайп...
Спустя 4 дня, 20 часов, 40 минут, 54 секунды (14.03.2012 - 16:03) sc_nkr написал(а):
Так как предыдущий пользователь не откликнулся, может кто-то сможет это реализовать?
Спустя 1 час, 10 минут, 24 секунды (14.03.2012 - 17:13) vital написал(а):
Есть такая замечательная функция glob() которая сделает вам счастье.
RTFM!
RTFM!