从外部公共目录显示动画GIF(GD?)

时间:2012-09-03 02:22:44

标签: php gd gif animated-gif

一旦用户将他们的图像上传到非公共(即外部htdocs或public_html文件夹)文件夹,我就会使用GD从该文件夹中获取图像。这一切都是以安全性为名,因为图像本身永远不会被处理。

问题在于动画GIF,GD只能通过显示它的第一帧来显示。

我知道有些课程可以将GIF切割成各自的框架并将它们“粘合”在一起,但我希望能够即时显示这些......

我不想创建一个新的动画gif并显示它,而是有一个GD脚本,它从图片目录中获取的信息呈现图像,位于公共文件夹之外。

非常感谢!

1 个答案:

答案 0 :(得分:3)

如果您根本不操作图像,我只会使用正确的标题返回文件内容。

例如:

<?php 

$file = 'whatever.gif';

// Do whatever checks you want on permissions etc

header('Content-type: image/gif');
readfile($file);

?>

Readfile输出文件的内容,标题确保浏览器将其视为gif并显示它。因为你不使用GD,它仍然会被动画化。

使用此方法的问题是,您需要知道每个文件的内容类型才能正确地为其提供服务。

http://php.net/manual/en/function.readfile.php