получить сообщение об ошибке при использовании file_get_contents () - PullRequest

Ответы [ 2 ]

2 голосов
/ 21 октября 2011

Ваша непосредственная проблема в том, что вы используете четвертый параметр file_get_contents.Вы должны просто опустить это и обрезать соответствующую часть $f с помощью substr позже, например так:

$f = substr($f, 246);

Однако есть много других проблем:

  1. Обработка $facebook_message ужасна.Сохраните здравомыслие и используйте implode('%20', $facebook_message) вместо ручной конкатенации строк.
  2. Очень плохо использовать магические числа 246 и -27 в вашем коде.Как вы создали эти ценности?Очевидно, что они ссылаются на часть результирующей строки, разделенной чем-то, поэтому документирует это, написав код, который находит разделители .Ваш текущий код сломается в тот момент, когда Facebook внесет небольшое изменение в формат возвращаемого значения, даже если это изменение носит чисто технический характер и не имеет различий с семантической точки зрения.
1 голос
/ 21 октября 2011

Вы указали file_get_contents искать смещение 246 с помощью этого последнего аргумента - вы не можете сделать это с помощью URL-адресов HTTP.Вам нужно будет получить весь ответ, а затем использовать

$f = substr($f, 246);

, чтобы извлечь порции с 246.

...