尝试从网址创建图片。但是创建了无效的图像。
$url = 'http://example.com/image.php';
$img = '/my/folder/flower.gif';
file_put_contents($img, file_get_contents($url));
使用了cURL:
$ch = curl_init('http://example.com/image.php');
$fp = fopen('/my/folder/flower.gif', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
allow_url_fopen设置为true:
答案 0 :(得分:0)
您的配置中很可能存在不允许访问外部URL的问题。我可以让你的两个代码变体都运行得很好。
确保allow_url_fopen
确实已启用。以下PHP代码应该有所帮助。它应设置为1
。
echo 'allow_url_fopen has the following value: '.ini_get('allow_url_fopen');
请注意allow_url_fopen
cannot be enabled via ini_set()
;该条目只能在php.ini或httpd.conf中设置。
其他建议:
error_reporting(E_ALL)
添加到文件顶部。$dir
中使用简单的文件名,并稍后再添加子目录。这会生成以下代码(为了测试目的,在$url
中添加了实际工作值):
error_reporting(E_ALL);
$url = 'http://icons.iconarchive.com/icons/morcha/browsers/256/Firefox-icon.png';
$img = 'flower.png';
file_put_contents($img, file_get_contents($url));
如果此代码不起作用,请提供已输出的所有错误以及本地图像文件的内容(如果已创建)。