Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
как прочитать содержимое всех файлов |

25.04.2010, 17:00
|
|
Новичок
Регистрация: 01.09.2009
Сообщений: 29
Провел на форуме: 20650
Репутация:
0
|
|
как прочитать содержимое всех файлов
Здравствуйте! не могу сообразить: вывод искомой строчки из одного фала получается а из всех файлов немогу.
PHP код:
<?php
$dir = "/home/localhost/www/tmp";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh)))
{
$files[] = $filename;
}
sort($files);
print_r($files);
rsort($files);
print_r($files);
$file=file;
$homepage = file_get_contents ( $file );
$string=$homepage;
$find="Текст который ищется в файлах";
if (strpos ($string, $find) === FALSE)
{
echo 'netu text1<br>';
}
else
{
echo "<br><br>text= ",$find;
echo "<a href='$file'>vash fail</a>";
}
?>
Спасибо! 
|
|
|

25.04.2010, 17:27
|
|
Познающий
Регистрация: 27.04.2009
Сообщений: 87
Провел на форуме: 140663
Репутация:
34
|
|
$file=file; - это что подразумевалось?
Вы составили массив из файлов, теперь поиск в файле поместите в цикл
PHP код:
foreach ($files as $file) {
// тут ваш код обработки файла
}
Последний раз редактировалось $now; 25.04.2010 в 17:30..
|
|
|

25.04.2010, 17:30
|
|
Новичок
Регистрация: 01.09.2009
Сообщений: 29
Провел на форуме: 20650
Репутация:
0
|
|
$file="file.txt"; когда один файл ставлю читает, а все файлы нет
|
|
|

25.04.2010, 17:31
|
|
Познающий
Регистрация: 27.04.2009
Сообщений: 87
Провел на форуме: 140663
Репутация:
34
|
|
Leon2009 см. предыдущий мой пост
|
|
|

26.04.2010, 00:26
|
|
Участник форума
Регистрация: 21.09.2008
Сообщений: 148
Провел на форуме: 678893
Репутация:
102
|
|
2 Leon2009
PHP код:
<?php
$dir = scandir("."); //папка в которой файлы
foreach($dir as $file) {
if($file !== '.' && $file !== '..' && $file !==substr(strrchr(__FILE__, "/"), 1)) { //слэш наверно прийдется поменять на \ (в винде в путях бэкслеш, так что ориентируйся сам)
$tmp = file_get_contents($file);
//...... делаешь с этим что хочь
}
}
?>
2 XPYMGT, так питон (интерпретируемый скриптовый), яву(объектный) или си(компилируемый, не объектный)?
Давай не говорить лишнего (тем более того чего не понимаем) и не оффтопить 
|
|
|

26.04.2010, 00:29
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
//слэш наверно прийдется поменять на \ (в винде в путях бэкслеш, так что ориентируйся сам)
константу DIRECTORY_SEPARATOR ещё никто не отменял.
|
|
|

26.04.2010, 03:35
|
|
Новичок
Регистрация: 01.09.2009
Сообщений: 29
Провел на форуме: 20650
Репутация:
0
|
|
Спасибо!
Спасибо! за помощь, вобщем вот что у меня получилось:
scandir - он наверное для php5, у меня стоит Апаче с 4м, я так думаю, т.к выдавал ошибку.
PHP код:
<?php
$dir = "/home/localhost/www/tmp";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh)))
{
$files[] = $filename;
}
foreach($files as $file)
{
if($file !== '.' && $file !== '..' && $file !==substr(strrchr(__FILE__, "/"), 1))
{
$homepage = file_get_contents ( $dir."/".$file );
$string=$homepage;
$find="1111";
if (strpos ($string, $find) === FALSE)
{
echo '<br>netu text1<br>';
}
else
{
echo "<br>text= ",$find;
echo "<br>link-<a href='$dir.'/'.$file'>vash fail</a>";
}
}
}
?>
не смог тока разобрать строчку:
PHP код:
<a href='$dir.'/'.$file'>
путь к файлу пишет /home/localhost/www/tmp. - но название файла уже нет. ставлю пишет название файла но путь уже не пишет. т.е localhost/1.txt или /home/localhost/www/tmp одно из двух  как тока не минял там значение 
|
|
|

26.04.2010, 14:41
|
|
Участник форума
Регистрация: 01.01.2009
Сообщений: 138
Провел на форуме: 817404
Репутация:
82
|
|
Пишу с компа друга , поэтому не провекрял.
Должно работать по идеи
PHP код:
<?php
ini_set('set_time_limit',0);
ini_set("memory_limit", "528M");
set_time_limit(0);
error_reporting(0);
function _readdir($d,&$files) {
global $opendir;
$dir = opendir ($d);
while ( $file = readdir ($dir))
{
if (( $file != ".") && ($file != ".."))
{
$opendir=$d.'/'.$file;
if(filetype($opendir)=="dir")
{
_readdir($opendir,&$files);
}
else
{
$files[] = $opendir;
}
}
}
closedir ($dir);
}
$stroka = '@mail.ru'; // то ищем в файлах. типа текст
_readdir('/home/',&$files); // ТУт указываем полный путь до папки которую нужно ....
foreach ($files as $index) {
$pamparam = file_get_contents($index);
if (strstr($pamparam, $stroka)) $results .= $index.', ';
}
echo "Уважаемый хакер, тест '$stroka' был найден в $results файлах!";
?>
|
|
|

26.04.2010, 19:45
|
|
Новичок
Регистрация: 01.09.2009
Сообщений: 29
Провел на форуме: 20650
Репутация:
0
|
|
Спасибо! я не знал что можно на память лемит ставить!
|
|
|

26.04.2010, 19:59
|
|
Познающий
Регистрация: 11.04.2009
Сообщений: 47
Провел на форуме: 116295
Репутация:
2
|
|
Мое сообщение о вредности пэхэпэ неизвестно кто и по какой причине удалили, удалите тогда и высер в мою сторону со стороны неизвестного мне человека выше
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|