当请求下载时,是否可以在文件中添加一些字节而无需使用PHP在服务器上将文件写入临时位置。
例如,考虑一个文件somefile.txt,其内容为“originaltext”。如果请求下载文件,则下载的文件的内容为“prependedtext_originaltext”
我希望在不在服务器上创建文件的临时副本的情况下实现此目的,因为如果大量用户请求该文件,该文件可能非常大并且服务器空间会迅速填满。
由于
答案 0 :(得分:3)
当然可以。
现在这取决于您如何提供文件。如果直接链接到文件,则必须在Web服务器中创建重写规则,这会将请求的文件传递给PHP脚本[1]。然后,该脚本将输出您的“prependtext”以及该文件的内容。不要忘记添加适当的HTTP标头[2]!
如果您已经通过PHP脚本提供文件,那么您需要在输出文件内容之前输出“prependtext”。
<强>说明:强>
[1]为了使用大文件实现内存效率,请使用readfile()
[2]对于文本文件,最重要的标题是Content-type: text/plain
(另请参阅header()
和readfile()
的文档)