外部图像调整大小

时间:2011-08-25 22:33:13

标签: php image resize external file-not-found

所以我有一个PHP脚本文件,可以动态调整图像大小。虽然这适用于许多站点和服务器,但我有一台服务器,它无法工作。

脚本的工作原理如下:

<img src="resize/thumb2.php?src=http://a8.sphotos.ak.fbcdn.net/hphotos-ak-snc6/284989_230936523610152_118543444849461_606799_3897837_n.jpg&w=150&h=100&type=crop.">

结果是以下错误(从浏览器到浏览器各种各样,但要点是它无法找到文件):

Firefox can't find the file at http://xx.xx.xx.xx/~test/tools/resize/thumb2.php?src=http://a8.sphotos.ak.fbcdn.net/hphotos-ak-snc6/284989_230936523610152_118543444849461_606799_3897837_n.jpg&w=150&h=100&type=crop.

所以从上面的输出你可以看到它实际上是试图打开整个链接作为文件。

由于这是唯一无法正常工作的服务器,我强烈猜测这是一个服务器设置问题?

我尝试过设置:

ini_set('allow_url_fopen', 1);
ini_set('allow_url_include', 1);

任何帮助都将不胜感激。

由于

2 个答案:

答案 0 :(得分:3)

不要偷@Pekka的雷声,但他的评论是正确答案。 (如果他将其作为答案发布,我将很乐意删除)

您需要urlencode src然后在thumb2.php

中对其进行解码
<img src="resize/thumb2.php?src=<?php echo urlencode('http://example.com/logo.gif'); ?>">

答案 1 :(得分:2)

“resize / thumb2.php?src =”之后的所有文字编码都很糟糕。尝试使用urlencode()或类似的东西来编码此URL的“查询部分”。