Próbuję uzyskać obrazy ze zdalnego serwera przy użyciu file_get_contents
. Adres URL obrazu może zawierać spacje i/lub znaki specjalne, takie jak ý, á, í, itp., A kiedy to nastąpi, operacja kończy się niepowodzeniem z kodem HTTP 400 - Złe żądanie. Jeśli spróbuję zakodować adres URL (lub segmenty tego adresu URL), korzystając z numeru urlencode
lub rawurlencode
, otrzymam numer 404.file_get_contents - znaki specjalne w adresie URL
Gdy adres URL obrazu nie zawiera spacji ani znaków specjalnych, jest pobierany bez problemów.
Mam przeczucie, że ma to coś wspólnego z kodowaniem, ale po prostu nie mogę tego rozgryźć. Czy brakuje opcji kodowania? Czy istnieje nagłówek, który należy ustawić dla żądania?
http://stackoverflow.com/questions/2236668/file-get-contents-breaks-up-utf-8-characters –
alickus: to nie jest właściwie duplikat, pytanie, które łączysz, dotyczy formatu UTF-8 w treści odpowiedzi, a nie adresu URL. – Kaivosukeltaja
Otwórz to zdjęcie w przeglądarce. Zobacz, jak przeglądarka koduje URL. Następnie zobacz dane wyjściowe 'echo urlencode ($ url);' i znajdź różnice – galymzhan