php文件下载乱码有关问题
file
mysql
nbsp
php文件下载乱码问题
我想添加一个文件上传下载功能,由于文件可能较大,所以思路是在数据库中存储文件在服务器上的路径,下载时根据路径读取文件。最开始在上传时页面文件列表显示的中文文件名为乱码,添加了
mysql_query("SET NAMES 'utf8'");
登入後複製
function DownloadFile($mineid,$notice=null){
global $smarty;
needLogin();
//session_cache_limiter('private');
$session=Session::start();
$curUser = $session->curUser;
$logger = new CategoryLogger('log_definition');
if($notice!="auto")notice($notice);
$id=$mineid;//要下载文件的ID
if(!isset($id) or $id=="") die("error:id none"); //定位记录,读出
$conn=mysql_connect('10.4.16.102','root','abc') or die('Unable to connect .');
mysql_select_db('greenmine',$conn) or die(mysql_error($conn));
mysql_query("SET NAMES 'utf8'");
$sql= "select * from file where id=$id";
$result= mysql_query($sql);
if(!$result) die("error:mysql query");
$num=mysql_num_rows($result);
if($num<1) die("error:no this recorder");
$data=mysql_result($result,0,"file_data"); //文件存储路径
$type=mysql_result($result,0,"file_type");
$name=mysql_result($result,0,"file_name");
mysql_close($conn);
$file_name=$name;
$file_dir=$data;
if (!file_exists($file_dir)) { //检查文件是否存在
echo "文件找不到";
exit;
} else {
$filePath = $file_dir;//此处给出你下载的文件在服务器的什么地方
$fileName = $file_name;
//此处给出你下载的文件名
$file = fopen($filePath, "r"); // 打开文件
Header("Content-type:application/octet-stream ");
Header("Accept-Ranges:bytes ");
Header("Accept-Length: " . filesize($filePath));
Header("Content-Disposition: attachment; filename= " . $fileName);
// 输出文件内容
echo fread($file, filesize($filePath));
fclose($file);
exit;
}
}
?>
登入後複製
------解决方案--------------------
是文件名乱码,还是文件内容乱码?
你的库中只保存文件名,而文件是独立保存的。不是这样吗
打开文件要 $file = fopen($filePath, "rb");
供下载的文件名
Header("Content-Disposition: attachment; filename= " . $fileName);
要与用户所用操作系统配套
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤
