更改用户下载php或html的下载文件的名称

时间:2015-07-28 10:01:13

标签: php html header

嗨有没有办法可以为用户提供我服务器内部文件的不同名称

root我的服务器里面有md5名称的文件,如

for example

我需要用户点击下载此文件以将下载文件的名称更改为33e65007ba9387583d4902e5497fc9ac.mp3

这个改变只想用户文件下载,它不会影响我服务器中文件的名称

something.mp3
  1. 服务器文件的名称为:More detail :

  2. 下载33e65007ba9387583d4902e5497fc9ac.mp3后用户文件的名称     更改服务器文件

  3. 我该怎么做?用PHP?

2 个答案:

答案 0 :(得分:2)

您可以将文件名存储在$ name中,并将文件内容存储在$ content中。然后,使用以下代码下载文件:

header('Content-Description: File Transfer');
header("Content-type: application/force-download");
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $name);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . strlen($content));
ob_clean();
flush();
echo $content;

答案 1 :(得分:0)

我通过将我的下载php文件更改为

来解决了这个问题
<?php
$file = $_GET['file'];
header ("Content-type: octet/stream");
header ("Content-disposition: attachment; filename=".$file.";");
header("Content-Length: ".filesize($file));
readfile($file);



exit;
?>