在浏览器中缓存PDF文件

在浏览器中缓存PDF文件,pdf,caching,Pdf,Caching,如何使用浏览器缓存保存PDF文件? 我也不想让用户下载或复制缓存的PDF。 例如: 用户首先访问address example.com/files/11,可以看到PDF文件。 下一次(离线或在线)如果用户访问该地址,仍然可以看到PDF,但无法下载或复制PDF文件 我尝试了索引db,但id对我无效 我知道阻止用户下载文件是不可能的,我只是想让它更难 更新: 我的代码: 当.pdf存在时,它可以正常工作,但当我删除或重命名.pdf时,它无法加载pdf文件,即使启用了缓存,浏览器也会自动缓存所有未

如何使用浏览器缓存保存PDF文件? 我也不想让用户下载或复制缓存的PDF。 例如: 用户首先访问address example.com/files/11,可以看到PDF文件。 下一次(离线或在线)如果用户访问该地址,仍然可以看到PDF,但无法下载或复制PDF文件

我尝试了索引db,但id对我无效

我知道阻止用户下载文件是不可能的,我只是想让它更难

更新: 我的代码:



当.pdf存在时,它可以正常工作,但当我删除或重命名.pdf时,它无法加载pdf文件,即使启用了缓存,浏览器也会自动缓存所有未标记为不可缓存的内容(文件)。这通常是静态文件的情况,如果PDF文档是以动态方式生成的,这取决于您自己发送的标题。除此之外:一旦你决定分发文件,你根本不可能阻止用户“下载”文件。就这么简单。您不能同时发布和不发布某些内容。我已发送缓存标头。它不起作用:(很抱歉,听到这个消息,但请理解,“它不起作用”从来没有在任何时间任何地方帮助过任何人接受帮助。“它不起作用”是什么意思意思是?你发送了什么标题?到底发生了什么?如果你没有提供确切的细节,但坚持使用模糊的描述,那么除了上面同样模糊的解释之外,我们不能再多说了。对不起,我对我的代码和描述提出了疑问
<?php
  header("Cache-Control: max-age=2592000"); 
  header('Content-Transfer-Encoding: binary');
  header('Accept-Ranges: bytes');
  header("Content-type:application/pdf");

readfile('a.pdf');
?>