InfoQ

交流

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

作者 dancecat110 发布于 2003-07-00 分类:php基础编程

我做上传文件的时候老是出现用户上传一些中文名称的文件名,
后来发现这些中文名称的文件根本不能在网上进行传输, 请问有办法判断出是中文名吗?



逛论坛交流请问怎样才能判断出上传文件名为中文名?

加入书签
digg+,
reddit+,
del.icio.us+,
dzone+

10 条回复

回复

帮帮忙嘛~ 发表人 dancecat110 发表于 07月05日
科学的方法是根本不管用户上传的文件名.. 发表人 wangtiejun 发表于 07月05日
我知道有base64这样一个函数但是我试了.. 发表人 dancecat110 发表于 07月05日
是不是要先用base64_encode编码再用bas.. 发表人 dancecat110 发表于 07月05日
各位快帮忙啊~ 发表人 dancecat110 发表于 07月05日
用正则表达式,如果文件名不是包含a-z .. 发表人 Belltree 发表于 07月05日
能写出来让我看看吗? 发表人 dancecat110 发表于 07月05日
================= <? $name=$u.. 发表人 guy1218 发表于 07月06日
好像ord($chr)大于128的都是中文? 发表人 ahchao 发表于 07月06日
不对啊怎么用了 <? $name=$upf.. 发表人 dancecat110 发表于 07月06日
  1. 帮帮忙嘛~

  2. 科学的方法是根本不管用户上传的文件名是中文还是日文还是……,全部改成标准的文件名。
    或者你可以参考一下base64。

  3. 我知道有base64这样一个函数但是我试了好几次都试不出来不知道为什么?

  4. 是不是要先用base64_encode编码再用base64_decode解码, 但是为什么我用的时候不对呢?

  5. 各位快帮忙啊~

  6. 用正则表达式,如果文件名不是包含a-z 或0-9 的话,就算他错,也不需要检查什么中文

  7. 能写出来让我看看吗?






  8. =================
    <?
    $name=$upfile_name;
    if(!eregi("^[a-z0-9-\_.]+$",$name))
    die("invalid file name");
    else
    {
    // do something
    }
    ?>

  9. 好像ord($chr)大于128的都是中文?

  10. 不对啊怎么用了
    <?
    $name=$upfile_name;
    if(!eregi("^[a-z0-9-\_.]+$",$name))
    die("invalid file name");
    else
    {
    // do something
    }
    ?>
    这种方法以后明明是英文名称的文件也说不能上传啊!
    不信你们看看:http://rsc.nyist.net/dongtai/wenjian/rscnewup.php
    是不是正则哪儿错啦?




  11. 我有话要讲:(可以匿名发表, 发广告的有多远请滚多远!!!)

    昵称: 请输入验证码:


抢着回答

笑料!

前几天上班,一车前来,停!刷卡,俺一瞧:8吨?不信!问司机要行...

我想问action"[#$]" 是什么意...

在mail系统中登陆指向action"[#$#]" 的"[#$#]"是什么意思? 其...

JavaScript的代码可以放在<? ?>里...

JavaScript的代码可以放在<? ?>里面吗?

怎么在apache中发布虚拟站点

我现在安装了apache 1.3 现在的配置如下: -------...

to 冬冬

你多大了?好像有些长的过于成熟了

如何用eregi找出我要的字串

比如: Domain Name: YTHT.NET Registrar: REGISTER.COM, IN...

求救:怎样才能使用复选榧一次删掉多个...

例子如下:

求教: $sql = "select * from qzz...

求教: $sql = "select * from qzzl,jbzl where jbzl.jbcd=qzzl.q...

请教在Xp下安装php+mysql+apache或+IIs

哪位大虾能详细介绍一下。或者给推荐一下有没有不用配置直接装上...

php4 中文手册中给出的函数mkdir的例子...

<?php mkdir("/path/to/my/dir", 0700); ?>

[]