我有一个“打印”按钮,当它被点击时,我向我的php脚本发送AJAX
请求。
请求包含: 文件名 其他数据。
我使用此脚本生成pdf使用TCPDF
并将该文件的链接返回到我的ajax请求。
在我的PHP
脚本中:
我首先测试发送的fileName是否存在于我保存所有pdf文件的文件夹中,如果它存在我“UNLINK
”它,如果不存在我继续我的脚本。
我遇到的问题是每当我对发送到脚本的数据进行更改时,都会创建相同的pdf(第一个),所以我认为它是缓存的问题,并且我搜索了一下,我发现函数file_exits
与它有关系吗?
关于这个问题的任何问题?或者可能是解决方案?
我可以提供您想要帮助解决问题的任何代码。
编辑:
我的php_exits在php脚本上:
if (file_exists('../store_files/'.$_POST["pdf_name"].'.pdf')) {
unlink('../store_files/'.$_POST["pdf_name"].'.pdf');
}
在输出之前我使用标题:
header ( 'Expires: 0' );header ( 'Cache-Control: must-revalidate' );
$pdf->Output(savepath.'/'.$name_pdf, 'F');
答案 0 :(得分:1)
我认为TCPDF能够覆盖现有的PDF。你不需要使用unlink(),我想不出任何理由file_exists()会在游戏中。浏览器缓存PDF文档是可能的(不确定)。如果是这种情况,您可以尝试在创建文档时更改文件名或更改URL,例如/path/to/my.pdf?q=random
答案 1 :(得分:1)
为了确保file_exists()实际检查filesytem,并且没有返回缓存结果,请先运行clearstatcache(true)
。