0

一旦用户将他们的图像上传到非公共文件夹(即在 htdocs 或 public_html 文件夹之外),我使用 GD 从该文件夹中获取图像。这一切都是为了安全,因为图像本身在未经处理的情况下永远不会显示。

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

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

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

非常感谢!

4

1 回答 1

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

于 2012-09-03T21:10:46.820 回答