我正在开发一个PHP网页,它可以动态地从SQL数据库构建.SVG文件,将其嵌入到页面中,并使用户能够与之交互。这些临时文件采用SVG [RandomNumber] .svg格式,unlink函数成功删除没有错误消息的文件。
问题出在这里:我假设如果在为用户加载SVG文件后调用了 unlink 函数,则网页将不会受到影响,因为用户的浏览器会缓存文件或其他内容。当代码中没有unlink命令时,一切都很完美;然而,“取消链接”在任何地方 - 即使在网页的末尾,也不会导致任何对象显示。在Firefox中没有对象的痕迹,在IE中我收到错误“无法找到网页。”
所以我在浏览器上传之前删除了文件吗?处理一般情况的最佳方法是什么?
谢谢。
答案 0 :(得分: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');
?>