Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   как прочитать содержимое всех файлов (https://forum.antichat.xyz/showthread.php?t=199160)

Leon2009 25.04.2010 17:00

как прочитать содержимое всех файлов
 
Здравствуйте! не могу сообразить: вывод искомой строчки из одного фала получается а из всех файлов немогу.
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>";
}
?>

Спасибо! :confused:

$now 25.04.2010 17:27

$file=file; - это что подразумевалось?

Вы составили массив из файлов, теперь поиск в файле поместите в цикл

PHP код:

foreach ($files as $file) {
// тут ваш код обработки файла



Leon2009 25.04.2010 17:30

$file="file.txt"; когда один файл ставлю читает, а все файлы нет

$now 25.04.2010 17:31

Leon2009 см. предыдущий мой пост

Failure 26.04.2010 00:26

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, так питон (интерпретируемый скриптовый), яву(объектный) или си(компилируемый, не объектный)?
Давай не говорить лишнего (тем более того чего не понимаем) и не оффтопить ;)

Deathdreams 26.04.2010 00:29

Цитата:

//слэш наверно прийдется поменять на \ (в винде в путях бэкслеш, так что ориентируйся сам)
константу DIRECTORY_SEPARATOR ещё никто не отменял.

Leon2009 26.04.2010 03:35

Спасибо!
 
Спасибо! за помощь, вобщем вот что у меня получилось:
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. - но название файла уже нет. ставлю
PHP код:

<a href='$file'

пишет название файла но путь уже не пишет. т.е localhost/1.txt или /home/localhost/www/tmp одно из двух :D как тока не минял там значение :confused:

Vlad&slav 26.04.2010 14:41

Пишу с компа друга , поэтому не провекрял.
Должно работать по идеи :D
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 файлах!";
?>


Leon2009 26.04.2010 19:45

Спасибо! я не знал что можно на память лемит ставить!

XPYMGT 26.04.2010 19:59

Мое сообщение о вредности пэхэпэ неизвестно кто и по какой причине удалили, удалите тогда и высер в мою сторону со стороны неизвестного мне человека выше


Время: 18:19