file_get_contents
を使用してリモートサーバーから画像を取得しようとしています。イメージへのURLには、é、á、íなどの特殊文字やスペースが含まれている場合があります。また、HTTPコード400 - Bad Requestで操作が失敗する場合もあります。 urlencode
またはrawurlencode
を使用してURL(またはそのURLのセグメント)をエンコードしようとすると、404が表示されます。file_get_contents - URLの特殊文字
画像URLにスペースや特殊文字が含まれていない場合、問題なくダウンロードされます。
これはエンコーディングと何か関係がありますが、私はそれを理解できません。 エンコードオプションがありますか?要求に設定する必要があるヘッダがありますか?
http://stackoverflow.com/questions/2236668/file-get-contents-breaks-up-utf-8-characters –
alickus:それは実際にはありません重複していると、あなたがリンクしている質問は、URLではなく、応答内容のUTF-8に関するものです。 – Kaivosukeltaja
あなたのブラウザでそのイメージを開きます。ブラウザがURLをどのようにエンコードするかをご覧ください。次に、 'echo urlencode($ url);'の出力を見て、違いを見つけます – galymzhan