gpt4 book ai didi

php - 如何通过 HTTP 在 URL 中使用 unicode 字母下载图像?

转载 作者:可可西里 更新时间:2023-11-01 16:34:19 24 4
gpt4 key购买 nike

如何使用 PHP 下载以下 URL(图像):http://www.delo.si/assets/media/picture/20121228/POLITIČNI05 tomi lombar.jpg?rev=2

问题是 PHP 在某种程度上不支持 URL 中的 unicode 字母(请参阅那里的 Č 字母?)。我试过同时使用 file_get_contents 和 cURL,但都没有用。波纹管是我的非工作代码。

file_get_contents:

$url = "http://www.delo.si/assets/media/picture/20121228/POLITIČNI05 tomi lombar.jpg?rev=2";
$stream_context = array('http' => array(
'method'=>"GET",
'header'=>"Content-Type: text/html; charset=utf-8"
));
$image_contents = file_get_contents($url, false, stream_context_create($stream_context));
file_put_contents("image.jpg", $image_contents);

curl :

$url = "http://www.delo.si/assets/media/picture/20121228/POLITIČNI05 tomi lombar.jpg?rev=2";
$ch = curl_init($url);
$fp = fopen('image.jpg', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_ENCODING, "UTF-8");
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/html; charset=utf-8"));
curl_exec($ch);
curl_close($ch);
fclose($fp);

“不起作用”是什么意思:我的意思是“不起作用,我下载的图片与我在浏览器中粘贴 URL 时得到的图片不同。这个网站显然设置了后备图片,所以如果图片不存在,你得到默认的。

最佳答案

你应该可以使用 urlencode()图片名称周围。所以:

header('Content-type: image/jpg');
$img = 'http://www.delo.si/assets/media/picture/20121228/' . rawurlencode('POLITIČNI05 tomi lombar').'.jpg?rev=2';
readfile($img);

关于php - 如何通过 HTTP 在 URL 中使用 unicode 字母下载图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14958359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com