我在网络无法访问的文件夹中有一个动画 GIF 图像。我想通过 PHP GD 输出该图像,但是当输出时,GIF 是非动画的。
有什么帮助吗?
而不是在 PHP-GD 中重新处理图像(您将通过这种方式分配更多的资源,而不是仅仅读取已经存在的文件。
将文件数据返回给客户端
if (!is_readable($FILE)){
exit('Undefined file');
}
header('Content-type: image/gif');
echo file_get_contents($FILE);
您使用“路由脚本”来访问此类图像(或任何类型的文件):
客户端->路由脚本->打开文件并转发内容->客户端
客户端请求这样的 url:http://your.domain/some/path/image.php?id=animation
使用类似这样的东西将文件内容输出到客户端:
<?php
// some catalog (or database) where file-paths are kept
$catalog = array(
'animation' => '/path/to/animated_gif.gif';
);
// read which file the client wants to access
$id = $_GET['animation'];
// decide action on where that file is located physically
if (!isset($catalog['id'])
{
// die with error message
die('forbidden');
}
// send file content
$success = readfile($catalog['id']);
if (FALSE === $success)
{
// die with error message
die('sorry, problems to give the file.');
}
请注意,要使其正常工作,不能通过 http 服务器直接访问 gif 文件。它是访问基于本地文件系统内部的文件的本地脚本。因此,该脚本充当客户端请求的路由器。
在脚本里面可以做各种花哨的事情: