0

在我的本地主机上,这段代码运行良好:

$im = imagecreatefrompng('BBcode.png');

但是当我在服务器中使用相同的代码时

$im = imagecreatefrompng('http://lazertag.elitno.net/drupal/BBcode.png');

我收到以下错误:

警告:imagecreatefrompng(http://lazertag.elitno.net/drupal/BBcode.png) [function.imagecreatefrompng]:未能打开流:HTTP 请求失败!HTTP/1.1 403 Forbidden in /www/elitno.net/l/a/lazertag/home/site/drupal/renderImage.php 第 46 行

我该如何解决这个问题?

4

3 回答 3

2

如果文件在您的服务器上,请使用(相对)系统路径,而不是 url:例如:

$im = imagecreatefrompng('drupal/BBcode.png');
于 2011-09-17T12:51:27.953 回答
0

在使用 imagecreate 之前,您可以将远程图像下载到本地文件夹然后处理它吗?!

你的前任:

$imagefile = file_get_contents('http://lazertag.elitno.net/drupal/BBcode.png');
$fp  = fopen('./BBcode.png', 'w+'));
fputs($fp, $imagefile);
fclo$fp);
unset($imagefile);
$im = imagecreatefrompng('./BBcode.png');
于 2011-09-17T12:29:03.667 回答
0

403 Forbidden 表示服务器阻止您访问该文件。你可以尝试做一个 file_get_contents("http://...."); 确实会收到一条错误消息,也许该网站的创建者会放置一个错误消息,否则您必须与他们交谈。

于 2011-09-17T12:33:05.857 回答