php - 在发送给用户之前重命名文件?

标签 php download rename

这可能是一个非常简单和愚蠢的问题,但我不知道我将如何去做。

我正在用 PHP 为客户站点构建一些文件托管功能。我在一个目录中有一个中央文件存储库。这是因为如果多人上传同一个文件,客户端希望维护每个文件的一份副本(基于文件的“哈希”)。在将文件转储到此目录(日期时间+一些代码)之前重命名文件以避免文件名冲突。文件的原始名称保存在数据库中。

问题是,当用户请求下载文件时,我不知道如何将文件重命名为原始文件名?我可以在另一个目录中创建它的临时副本,但我认为这会变得困惑。我希望有更好的方法。我看过另一篇文章

Response.AppendHeader("content-disposition", "attachment; filename='MyFile.jpg'"); 

但那是在 ASP 中。谁能指出我正确的方向?

非常感谢

泰德

最佳答案

在 PHP 中它是类似的: 查看header功能

来自该页面上的示例:

<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');

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

// The PDF source is in original.pdf
readfile('original.pdf');
?>   

关于php - 在发送给用户之前重命名文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6694449/

相关文章:

php - 如何使用 js 和 php 创建跟踪脚本?

php - 统计每个销售员每月的总数

asp.net-core - 从 Blazor 服务器下载文件时出现错误 : Circuit has been shut down due to error.

Ant zipfileset 重命名文件

Java:重命名时的 DefaultMutableTreeNode 事件

linux - 将具有序列的文件重命名为新序列

PHP FFmpeg视频宽高比问题

php - 如何将不带换行符的字符串连接到 MySQL 中?

c++ - 尝试在 Blackberry Cascades QT 和 QML 中下载图像

php - 限制并行/同时下载 - 如何知道下载是否被取消?