2015-10-08 7 views
-1

У меня есть следующие функции, чтобы получить CSV файл формирует ресурс третьего лица:подавляя предупреждение fgetcsv

public function getSubject() 
    {  
     $file = fopen($this->url , 'r'); 
     $result = array(); 
     while (($line = fgetcsv($file)) !== false) { 
      if (array(0 => null) !== $line) { 
       $result[] = $line; 
      } 
     } 

     fclose($file); 
     $this->setSubject($result); 
    } 

Проблема возникает, когда файл третьей стороны CSV недоступен, я получаю эту ошибку:

PHP Warning: fgetcsv() expects parameter 1 to be resource, boolean given in /var/www/html/code.php on line 57

Каков наилучший способ проверить эту ошибку?

+1

инвестировать некоторое время в исследование после использования предложения 'if' и типа данных типа boolean. Кроме того, посмотрите документацию функции 'fopen', особенно, почему она возвращает логическое значение. – Joshua

+0

Хорошо проверите переменную '$ file', конечно, после' fopen() '[или RTM] (http://php.net/manual/en/function.fopen.php) – RiggsFolly

ответ

2

Тест $file после того, как вы его открыли.

$file = fopen($this->url, 'r'); 
if (!$file) { 
    die("Unable to open URL"); 
} 
+0

Спасибо - это было совершенно очевидно, длинный сеанс кодирования. – HappyCoder

 Смежные вопросы

  • Нет связанных вопросов^_^