Ich versuche, Bilder von einem Remote-Server mit file_get_contents
zu erhalten. Eine URL zu einem Bild kann Leerzeichen und/oder Sonderzeichen wie ý, á, í usw. enthalten, und wenn dies der Fall ist, schlägt die Operation mit einem HTTP-Code 400 - Bad Request fehl. Wenn ich versuche, die URL (oder Segmente dieser URL) zu codieren, unter Verwendung urlencode
oder rawurlencode
, bekomme ich einen 404.file_get_contents - Sonderzeichen in URL
Wenn die Bild-URL keine Leerzeichen oder spezielle Zeichen enthält, wird es ohne Probleme heruntergeladen.
Ich habe eine Ahnung, dass dies etwas mit Codierung zu tun hat, aber ich kann es einfach nicht herausfinden. Gibt es eine Kodierungsoption, die ich vermisse? Gibt es einen Header, der für die Anfrage gesetzt werden muss?
http://stackoverflow.com/questions/2236668/file-get-contents-breaks-up-utf-8-characters –
alickus: Das ist nicht wirklich Bei einem Duplikat handelt es sich bei der von Ihnen verknüpften Frage um UTF-8 im Antwortinhalt und nicht um die URL. – Kaivosukeltaja
Öffnen Sie das Bild in Ihrem Browser. Sehen Sie, wie der Browser die URL codiert. Dann sehen Sie die Ausgabe von echo urlencode ($ url); 'und finden Sie Unterschiede – galymzhan