0

我正在开发一个 PHP 网页,该网页即时从 SQL 数据库构建一个 .SVG 文件,将其嵌入页面中,并使用户能够与之交互。这些临时文件采用 SVG[RandomNumber].svg 的形式,并且 unlink 函数成功地删除了这些文件,并且没有错误消息。

这就是问题所在:我假设如果我在为用户加载 SVG 文件后调用unlink函数,则网页不会受到影响,因为用户的浏览器会缓存文件或诸如此类的东西。当代码中没有取消链接命令时,一切正常;但是,在任何地方“取消链接”——即使是在网页的末尾,也不会导致任何对象显示。在 Firefox 中没有该对象的踪迹,在 IE 中我收到错误“找不到网页”。

那么我在浏览器上传之前删除了文件吗?处理一般情况的最佳方法是什么?

谢谢你。

4

1 回答 1

0

更改工作流程并且不要创建临时工可能很有用。当图像只使用一次或者它的生成不是什么大问题时,你可以尝试按照以下方式即时生成它

<?php
// We'll be outputting a SVG
header('Content-type: Content-Type: image/svg+xml');

// It will be called image.svg
header('Content-Disposition: attachment; filename="image.svg"');

// Don't cache
header("Cache-Control: no-cache, must-revalidate");
header("Expires: " . date("D, j M Y H:i:s")); 

// The PDF source is in original.pdf
generate_svg_from_db('image.svg');
?>
于 2013-07-29T05:45:46.003 回答