【发布时间】:2012-12-31 17:05:09
【问题描述】:
我知道我的问题与this question 非常相似,我正在使用问题的答案作为我的解决方案,但我无法让它发挥作用。
我正在使用Immediatenet.com 生成任何给定 URL 的缩略图(例如: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);
【问题讨论】:
-
$url的值是多少?如果它包含/字符,$img将是进入子目录的路径,您需要确保这些子目录存在。检查来自fopen()的错误。 -
例如如果
$url是http://google.com,则需要有一个目录/users/images/http:。 -
哇哦。我真是个白痴。我才意识到你是完全正确的。那些正斜杠把它搞砸了。谢谢你。你应该把这个作为答案,我会接受……不情愿,因为我现在觉得自己像个白痴。并希望能解决这个问题。太感谢了。你帮我省了好几个小时的头痛。