php 中文文件名

原创 2011年01月13日 17:20:00

1、php 读取中文文件名乱码解决方案:

$file_read = "C:/中国.txt";

$file_read = iconv('utf-8', 'gb2312', $file_read);

 

2、php 文件上传之后进行转移文件时,文件名中文乱码解决方案:

$filename =iconv("UTF-8","GBK",$_FILES["AttachFile"]["name"]);//move_uploaded_file()转移之后文件名乱码转换
 move_uploaded_file($_FILES["AttachFile"]["tmp_name"],ROOTPATH.
       "/php/upload/attach/" . $filename);

 

3、php 中获取当前时间不一致时的解决方案:

date_default_timezone_set("PRC");

//PHP5中Date()函数获取时间相差8小时问题的解决方法只需在输出时间之前加个定义:date_default_timezone_set("PRC");

 

4、字符串中常用函数

(1)echo,print,print_r,printf,sprintf

前两个函数是输出字符串.字符串中如果有变量名则被替换成其值. 

print_r也是输出函数,不同的是他可以输入复杂结构的数据,比如数组,对象

后两个函数类似于C的同名函数.

 

(2)strchr,strlen,strtok,strrchr,strrev,strstr,strtolower,strtoupper,substr,ucfirst

这些是常用的字符串操作函数,有些和C中的同名函数意义完全一致. m

strrev是把一个字符串翻转.

strtolower和strtoupper顾名思义前都把字符串转成小写,而后者正好相反.

ucfirst是把字符串的第一个字符变成大写. 

substr是返回字符串的一个子串,用法是:substr(字符串,头,长度).

头位置是 从0算起的.如果是负数,则是从尾部向前数的意思. 

 

(3)Chr,Ord


Chr 把ASCII码转成字符串

ord 把字符串转成ASCII码


(4)explode,implode,join

 

这些是和数组有关的函数. 

explode(字符串,分割符)返回一个将字符串在分割符处分开所产生的数组.

implode(数组,分割符)返回一个将数组各元素之间插上分割符而成的字符串.

join与implode意义相同.

 

(5)chop

去掉字符串尾部的空白.

 

(6)htmlspecialchars

 

将字符串中的HTML特殊字符换成它们的名字,例如/"</"变成/"</".

 

(7)nl2br

在字符串中的每一个回车前面加上/"<BR>/".

 

(8)addslashes,stripslashes

 

分别给字符串中需要加上/"//"才能用于数据库查询的字符加上和去掉/"//".

 

(9)parse_str

将/"name1=value1&name2=value2&.../"类型的字符串分析成一些变量.

 

例如:
parse_str(/"a=1&b=2/");

生成$a与$b两个变量,值分别为1,2.

如果有两对名字/值的名字部分相同,则后一个的值覆盖前一个的.

如果这两对的名字尾部都有/"[]/",例如/"a[]=1&a[]=2/",则生成数组$a,两个元素分别为1,2

 

(10)strip_tags

本函数可去掉字符串中包含的任何 HTML 及 PHP 的标记字符串

关于读取php中文文件名乱码问题

关于读取php中文文件名乱码问题  (2012-02-11 18:39:32) 转载▼ 标签:  it 分类: 程序 php f...
  • a9254778
  • a9254778
  • 2014年03月06日 11:44
  • 2728

php中fopen不能创建中文文件名文件的问题

之前网页的chartset用的是utf-8,文件也用utf-8,然后用fopen()创建一个中文文件名的文件时问题就出来了,文件名都是乱码!查看了很多文档试了不少方法都解决不了,本来想着用别的方法绕过...
  • jbgtwang
  • jbgtwang
  • 2010年05月05日 17:12
  • 8341

php识别“中文文件名”文件报错问题

问题的发现:程序员都拥有懒惰的智慧才智,今天我就在Wampserver上运行了下一个php程序,目的是批量处理文件的文件名,但是中途却出现了一个很奇怪的错误,如下: (1)我在php文件所在目录,手...
  • Gavin_new
  • Gavin_new
  • 2016年11月21日 10:35
  • 1288

php上传文件名中包含中文字符的附件

我们在上传附件的时候,常会要上传一些附件名称包含中文字符的附件,上传成功之后,会发现上传的附件其实是一个空文件。我就遇到过这类问题。 下面我们来解决这类问题 解决这类问题其实很简单 例如我们的p...
  • czh0423
  • czh0423
  • 2015年05月29日 16:56
  • 1058

【整理】解决php输出文件下载时文件名含中文时出现乱码

由于某度众所周知的举动,让我搬离写了5年的渣度空间,准备把技术性的文章定在CSDN了。这些都是文章备份。勿怪。。 相关: http://blog.csdn.net/yangsp1/article...
  • yukon12345
  • yukon12345
  • 2011年09月28日 20:11
  • 2507

[完]PHP文件下载 下载GET值中含有中文字符的文件,保存中文文件名,文件不能打开,遇到的编码问题

下载GET值中含有中文字符的文件,保存中文文件名,遇到的编码问题的详细介绍。最后附加了完整的PHP文件下载程序。...
  • namelessml
  • namelessml
  • 2016年09月01日 10:43
  • 1400

解决php读中文目录、文件名乱码

 造成乱码的原因主要是因为系统字符编码与页面编码不统一,解决办法很简单,php的函数iconv($inencoding,$outencoding,$str)。比如说中文乱码,就这样办:$str = i...
  • zhaozhi406
  • zhaozhi406
  • 2009年03月27日 16:49
  • 4103

php遍历windows下中文目录下的所有文件名

有时需要遍历windows下中文目录下的所有的文件名,使用utf-8编码的文件有时会出现乱码,并且不能成功的执行, 这时需要对文件的编码进行一下转换,使用scandir这个函数的时候会连同目录一下列...
  • sunbingzibo
  • sunbingzibo
  • 2015年01月10日 09:57
  • 4231

php copy中文文件名文件

现象:php 复制中文名的文件时,总是报错! 背景:php文件本身为utf-8编码,window操作系统默认的中文编码为gb2312 解决方案: /* *basename()的替代函数,解决ba...
  • dajing030
  • dajing030
  • 2012年11月12日 22:40
  • 2234

php 中关于 fopen 如何打开或创建中文文件的使用说明

在IT编程界,中文乱码一直是个头疼的问题。但是,只要时常总结出现的问题,以后再遇到相同的情况,直接在博客里查找就可以了。 今天,有一个朋友在我的另一篇关于PHP作下载功能的博文(www.gret...
  • sohero
  • sohero
  • 2015年02月17日 14:24
  • 595
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php 中文文件名
举报原因:
原因补充:

(最多只允许输入30个字)