首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

请问怎样才能判断出上传文件名为中文名?

我做上传文件的时候老是出现用户上传一些中文名称的文件名,
后来发现这些中文名称的文件根本不能在网上进行传输, 请问有办法判断出是中文名吗?
昵称: dancecat110  时间: 2003-07-05 18:49:00
帮帮忙嘛~
昵称: dancecat110  时间: 2003-07-05 18:55:00
科学的方法是根本不管用户上传的文件名是中文还是日文还是……,全部改成标准的文件名。
或者你可以参考一下base64。
昵称: wangtiejun  时间: 2003-07-05 18:55:00
我知道有base64这样一个函数但是我试了好几次都试不出来不知道为什么?
昵称: dancecat110  时间: 2003-07-05 19:00:00
是不是要先用base64_encode编码再用base64_decode解码, 但是为什么我用的时候不对呢?
昵称: dancecat110  时间: 2003-07-05 19:05:00
各位快帮忙啊~
昵称: dancecat110  时间: 2003-07-05 19:33:00
用正则表达式,如果文件名不是包含a-z 或0-9 的话,就算他错,也不需要检查什么中文
昵称: Belltree  时间: 2003-07-05 19:35:00
能写出来让我看看吗?
昵称: dancecat110  时间: 2003-07-05 19:38:00
<form method="post" >
<input type="file" name="upfile" accept="multipart/form-data">
<input type="submit">
</form>

=================
<?
$name=$upfile_name;
if(!eregi("^[a-z0-9\-\_\.]+$",$name))
  die("invalid file name");
else
{
  // do something
}
?>
昵称: guy1218  时间: 2003-07-06 03:44:00
好像ord($chr)大于128的都是中文?
昵称: ahchao  时间: 2003-07-06 04:13:00
不对啊怎么用了
<?
$name=$upfile_name;
if(!eregi("^[a-z0-9\-\_\.]+$",$name))
die("invalid file name");
else
{
// do something
}
?>
这种方法以后明明是英文名称的文件也说不能上传啊!
不信你们看看:http://rsc.nyist.net/dongtai/wenjian/rscnewup.php
是不是正则哪儿错啦?
昵称: dancecat110  时间: 2003-07-06 15:17:00
不好意思是我搞错了,我把$upfile_name写错了!
不好意思!
昵称: dancecat110  时间: 2003-07-06 15:24:00