Lorsque j'utilise la bibliothèque curl et essayez d'obtenir l'image de l'URL, je reçois 400 erreur de demande incorrecte. J'ai fondé ce problème avec l'URL de codage. Mais dans mon cas ça fonctionne pas, parce que mon URL - c'est chemin vers l'image sur le côté serveur - commeCurl retourne 400 mauvaise demande (URL avec des espaces)
http://example.com/images/products/product 1.jpg
Je comprends que les espaces utilisateurs dans un fichier nom, il est une mauvaise pratique, mais ce n'est pas mon serveur et non j'ai créé ces fichiers.
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, urlencode($url));
echo $ret = curl_exec($ch);
Quand j'utilise la fonction urlencode - Ondulations retour HTTP_CODE = 0
Mise à jour
$url = str_replace(' ', '+', $url);
ne fonctionne pas, l'erreur retour du serveur 404.
est une telle URL possible (avec de l'espace). L'espace devient '% 20' quand nous tapons l'espace dans l'URL – diEcho
@diEcho quoi? Bien sur, c'est possible. Il ne se transforme pas en% 20 par lui-même - certains clients peuvent le faire, mais certainement pas tous, et ce n'est toujours pas possible. – eis