我知道我的问题与this question非常相似,我正在使用问题的答案作为我的解决方案,但我无法让它发挥作用。
我正在使用Immediatenet.com生成任何给定网址的缩略图(例如:google)。然后使用cURL将图像保存在我服务器上的文件夹中。
我不确定问题是否是因为URL实际上不是图像URL(例如example.com/image.jpg)或.html / .php URL或者我根本就不是做得对。我之前从未使用过cURL,所以很明显我可能做得不对。
我将图像的路径保存到MySQL数据库中,该数据库运行正常。但是,图像实际上并不保存在指定的文件夹中。权限是在文件夹上正确设置的,所以我认为这不是权限问题。我还将allow_url_fopen
设置为On以确保。
我的代码如下。任何人都可以指出我正确的方向吗?
$url = $_POST['url'];
$url_new = 'http://immediatenet.com/t/m?Size=1024x768&URL='.$url;
$img = "/users/images/".$url.".jpg";
$ch = curl_init($url_new);
$fp = fopen($img, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);
curl_close($ch);
fclose($fp);
答案 0 :(得分:2)
如果$url
包含正斜杠(与大多数URL一样),则这些将被视为$img
路径名中的目录分隔符。您需要将斜杠替换为其他字符,或者创建所有必需的目录。
$img = "/users/images/".str_replace('/', '_', $url).".jpg";
答案 1 :(得分:0)
您确定$img = "/users/images/".$url.".jpg";
有效吗? ..你的根目录中确实有一个用户文件夹吗?
请更正,如果没有,它应该没问题。