Я написал скрипт на php, который читает два файла, берет все строки из одного файла и ищет их в другом файле. Это работает нормально в веб-браузере. Но когда я пытаюсь запустить его через командную строку, он говорит
'недопустимые аргументы для foreach () в строке ....'
я что-то упустил?
<?php
$filename = 'search_items.txt';
$fp = @fopen($filename, 'r');
if ($fp) {
$array = explode(",", fread($fp, filesize($filename)));
}
$filename1 = 'file1.log';
$fp1 = @fopen($filename1, 'r');
if ($fp1) {
$array1 = explode("\n", fread($fp1, filesize($filename1)));
}
$num = 1;
foreach($array1 as $val1){
foreach($array as $val){
if(strstr($val1, $val)){
echo 'line : '.$num.'->'.$val1.'<br>';
}
}
++$num;
}
?>
<?php
$filename = 'search_items.txt';
$fp = fopen($filename, 'r');
if ($fp) {
$array = explode(",", fread($fp, filesize($filename)));
}
$filename1 = 'file1.log';
$fp1 = fopen($filename1, 'r');
if ($fp1) {
$array1 = explode("\n", fread($fp1, filesize($filename1)));
}
$num = 1;
foreach($array1 as $val1)
{
foreach($array as $val)
{
if(strstr($val1, $val))
{
print_r('\n'); //2
}
}
++$num;
print_r($val1); // 1
}
Хорошо, скрипт сейчас запущен, но происходит нечто забавное.
если я удаляю печать в комментарии 1 и помещаю ее в место комментария 2, то результаты, которые я получаю, являются последними, то есть только одним последним результатом. не полные поиски. Кто-нибудь может сказать мне, почему?