Я немного застрял в следующем коде, который правильно открывает файл csv (list.csv) и определяет, есть ли совпадение в одной из строк, которая соответствует тому, что в переменной $ match. Чтобы уточнить, скрипт работает правильно. Когда я звоню скрипт через браузер, не существует никаких ошибок, показанные (я их включен), но когда я запускаю его в CLI это получить годов в цикл со следующими ошибками:Проблема с вызовом fgetcsv в CLI, но не apache2
Warning: in_array() expects parameter 2 to be array, null given in /var/www/html/script.php on line 169
Exclusion not found<br>
Warning: fgetcsv() expects parameter 1 to be resource, boolean given in /var/www/html/script.php on line 165
и просто повторяется .. .
линия 169 является if(in_array($match ,$line))
линия 165 является while (($line = fgetcsv($file)) !== FALSE) {
if ($check_list == "1") {
$file = fopen('list.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
print_r($line);
if(in_array($match ,$line))
{
echo "match found";
$name = $line[0];
$address = $line[1];
$phone = $line[2];
echo "name : " . $name;
echo "address : " . $address;
echo "phone : " . $phone;
}
else {
echo "Not found in file.";
}
}
fclose($file);
}
Я немного застрял, почему он ведет себя таким образом, через CLI, но не через браузер (что я вижу).
Заранее спасибо.
Может быть вызван путем к файлу или правами доступа к файлам. В браузере он производит какой-либо вывод? – frz3993
Привет, извините, я забыл добавить, файл существует и читается правильно, скрипт (кажется) работает нормально. – omega1
Вы имеете в виду, что он продолжал работать даже после того, как csv достигло EOF? – frz3993