如何隐藏图像的物理路径

时间:2012-09-11 13:38:30

标签: ruby-on-rails image path cakephp-2.0 gravatar

在我的应用程序中,我通过提供目录的物理路径来显示用户的图像,如http://www.example.com/user_images/abcdefghijk.jpg

但是我不希望将此物理路径暴露给外部用户以访问直接文件。 我想按照gravtar类型的图像显示实现图像检索。我们怎么做到这一点?

2 个答案:

答案 0 :(得分:2)

在PHP中,您可以使用GD库来读取图像。所以你需要创建一个image.php文件&使用以下代码,

<?php
$imagepath="your image physical path";

$image=imagecreatefromjpeg($imagepath);

header('Content-Type: image/jpeg');
imagejpeg($image);
?>

这是针对所有其他图像的jpg图像,您可以使用GD库的不同功能。

因此Gravtar.com使用上述方式显示图像:)

在ROR中你可以使用Rmagick gem来阅读图像&amp;以相同的方式显示图像。

由于

答案 1 :(得分:0)

在php中你可以在会话中保存一个变量并将其附加到图像的路径,如

<img src="php_function.php?token=1234" />

并在php文件中获取从会话读取其实际路径的图像并按file_get_contents

返回内容

这是来源http://hashmode.com/hide-image-path-php/9