嗨有没有办法可以为用户提供我服务器内部文件的不同名称
root
我的服务器里面有md5名称的文件,如
for example
我需要用户点击下载此文件以将下载文件的名称更改为33e65007ba9387583d4902e5497fc9ac.mp3
这个改变只想用户文件下载,它不会影响我服务器中文件的名称
something.mp3
服务器文件的名称为:More detail :
下载33e65007ba9387583d4902e5497fc9ac.mp3
后用户文件的名称
更改服务器文件
我该怎么做?用PHP?
答案 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;
?>