再确认下文件上李斗传时提交的文件名是否也是这个格式的弯扰裤
首先说拿模明HP对于中文的支持没有英文那么好,消咐缓所以,请尽量使用纯英文+数字的上传文件名,可以在服务器端进行上传后改名当你取得文件时,系统会生成一个temp 文件,你简型也可根据时间生成文件名,也可以用temp作文件名了.中文php支持不了,上传文件是不能包含中文名的,可以生成新的文件名再清举镇上传。如果想保留原文件名,可以写入数据库,然后输出时做一个专门的脚本,用于读取原文件名并输出。
我答逗以MYSQL举例(输出脚本):
<?php
$file = $_GET['downurl']
$con = mysql_connect("数据库主机名","帐号","密码")
if(!$con)
exit(mysql_errno().":".mysql_error())
$sql = "SELECT * FROM fname WHERE fileurl='$file'"
$result = mysql_query($sql,$con)
$row = mysql_fetch_array($result)
header("Content-Disposition: attachmentfilename='".$row['filename']."'")
echo file_get_contents($file)
?>
有了这个脚本,那么还需要在MYSQL建立一个表fname。
执行以下SQL:
CREATE TABLE 'fname'
(
fileurl varchar(255),
filename varchar(255)
)
最后你在上传文件成功时加一个写入数据的 *** 作:
<?php
$con = mysql_connect("数据库主机名","帐号","密码")
if(!$con)
exit(mysql_errno().":".mysql_error())
$sql = "INSERT INTO fname(fileurl,filename) VALUES('文件URL','原文件名')"
?>
文件URL我就不说了,你一定会弄。原文件名,可以通过$_FILES获取,具体如何获取,我就不写了,百度一下,W3SCHOOL,答粗PHP手册都有。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)