0

我正在使用一个脚本来调整图像大小。我似乎遇到了一个错误:

错误:未指定图像
可能是因为脚本中的这段代码(image.php):

    if (!isset($_GET['image']))
    {
        header('HTTP/1.1 400 Bad Request');
        echo 'Error: no image was specified';
        exit();

}

这是我正在做的(profile.php)

$your_image = $row['Image'];
$path_to_image = $row['PortraitPath'];
$width = 100;
$height = 100;

echo "<img src=\'/image.php/{$your_image}?width={$width}&amp;height={$height}&amp;cropratio=1:1&amp;image={$path_to_img}\' alt=\'Alt text goes here.\' />";

因此,我从 MySQL 表中读取$your_image$path_to_image,然后将其放入img source. 如上所述,显然,图像未设置,这就是我收到第一个错误的原因。我没有得到的是,图像实际上将如何用我的img src代码设置?我不是简单地显示实际图像吗?那么如果只是显示图片,图像将如何设置呢?谢谢你。

4

4 回答 4

0

图像的 URl 包含?foo=bar&this=that&image=path. 这些变量将被传递给 $_GET 数组中的 image.php 脚本。

于 2010-07-21T20:01:53.870 回答
0

如果您想获取 php 文件而不是图像,则需要告诉您的 php 文件输出将是图像。您可以使用 php header() 函数执行此操作,如下所示:

header('Content-type: image/jpeg');

这里有一些参考: php header function

关于你指向的地址,是不是有点奇怪?您在 .php 后面有一个斜线,这表明您正在尝试访问某个文件夹...您是否测试了此 url 以查看屏幕上是否正在输出真实图像?

希望这可以帮助你=)

于 2010-07-21T20:11:16.120 回答
0

作为警告,在你profile.php的代码中我看到了这个片段:

image={$path_to_img}

取决于您如何处理此值$_GET['image']可能会导致RFI漏洞。用户可以image.php使用自己的“图像”路径伪造 GET 请求。

于 2010-07-21T20:18:02.243 回答
0

我注意到了几件事,我不确定您在此处发布之前修改了多少代码...

1a)如果您使用双引号来包含单引号,请不要转义单引号。

或者

1b)将转义的单引号更改为转义的双引号。

2) 在您使用的 URL 中,$path_to_img但您定义的变量是$path_to_image. 使它们保持一致。

于 2010-07-22T00:59:09.187 回答