phpcms v9 使用readfile()读出附件内容为什么会出现乱码?

phpcms v9 使用readfile()读出附件内容为什么会出现乱码?,第1张

首先,是桥厅不是头文件不全的原因,因为有中文字等应该需要执行编码;

另外,感觉使用readfile函数相对来说比较“简陋”的,例如可以使用下面这种下载代码:

header("Content-type:text/htmlcharset=utf-8") 

$file_name="iphpcms.jpg" 

//用以解决中文不能显示出来的问题 

$file_name=iconv("utf-8","gb2312",$file_name) 

$file_sub_path=$_SERVER['DOCUMENT_ROOT']."marcofly/phpstudy/down/down/" 

$file_path=$file_sub_path.$file_name 

//首先要判断给定的文件存在与否 

if(!file_exists($file_path)){ 

echo "没有该文件文件" 

return  

$fp=fopen($file_path,"r") 

$file_size=filesize($file_path) 

//下载文件需要用到的头 

Header("敏做隐Content-type: application/octet-stream") 

Header("Accept-Ranges: bytes") 

Header("Accept-Length:".$file_size) 

Header("Content-Disposition: attachment filename=".$file_name) 

$buffer=1024 

$file_count=0 

//向浏览器返回数胡运据 

while(!feof($fp) && $file_count<$file_size){ 

$file_con=fread($fp,$buffer) 

$file_count+=$buffer 

echo $file_con 

fclose($fp)

1、装个Visual.Assist.X插件,点击到函数名可以转到头文件及定义,不过有的函数不是开源的,只能看到声明。

2、函数是指一段在一起的、可以做某一芦明件事儿的程序。也叫做子程序、(OOP中)方法。一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。在C语言中,子程序的作用是由一个主函数和若干个函数构成。由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。

3、C语言是在70年代初问世的。一九七八年由美国电话电誉芹报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为《K&R》,也庆哗毕有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准学会在此基础上制定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。

因为你没包含ReadFile这个类的头文件,因为找不到枝逗声明,所以报错;

在main可以是因为你加入了该头文件,又或者是ReadFile这个类和肢告main是在同一个文件里面,所以可以猛饥卖


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12291702.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存