首页 > 常见问题 > 正文

文件名中不能包含的字符

(*-*)浩
发布: 2019-06-06 10:12:48
原创
88235 人浏览过

文件名是为了方便人们区分计算机中的不同文件,而给每个文件设定一个指定的名称。由文件主名和扩展名组成。

文件名中不能包含的字符

DOS操作系统规定文件名由文件主名和扩展名组成,文件主名由1~8个字符组成,扩展名由1~3个字符组成,主名和扩展名之间由一个小圆点隔开,一般称为8.3规则。(推荐学习:PHP视频教程

其格式如下:

□□□□□□□□.□□□
登录后复制

例如: G9401.DBF,这里G9401是主名,DBF是扩展名。文件主名和扩展名可以使用的字符是:

(1)英文字母:A—z(大小写等价)

(2)数 字:0—9

(3)汉 字

(4)特殊符号:$#&@()-[]^~等。

(5)各种控制字符和下列字符不能用在文件名中:

< > / \ | : " * ?

因为这些字符已做它用。

windows突破了DOS对文件命名规则的限制,允许使用长文件名,其主要命名规则如下:

(1)文件名最长可以使用255个字符。

(2)可以使用扩展名,扩展名用来表示文件类型,也可以使用多间隔符的扩展名。如win.ini.txt是一个合法的文件名,但其文件类型由最后一个扩展名决定。

(3)文件名中允许使用空格,但不允许使用下列字符(英文输入法状态):< > / \ | : " * ?

(4)windows系统对文件名中字母的大小写在显示时有不同,但在使用时不区分大小写。

文件名是文件存在的标识,操作系统根据文件名来对其进行控制和管理.不同的操作系统对文件命名的规则略有不同,即文件名的格式和长度因系统而异.例如:UNIX/LINUX系统区分文件名的大小写,而有些系统则不区分如:MS-DOS和WINDOWS.

对于文件扩展名是用来区分文件的属性的.在有的系统中并不为系统所感知如:UNIX/LINUX系统中,hello.c文件与helloc文件对于系统来说没有什么区别,加上了扩展名.c与不加都一样,系统都不知道那是个什么文件.只是用户加上.c后,方便用户明白那是c语言源码文件.

但是在MS-DOS与WINDOWS系统中,文件扩展名是为系统感知的.在WINDOWS中,对于不同的文件扩展名有其相关联的程序进行打开,这些扩展名除了如txt等是原来就有的以外其余一般是安装软件时被注册到系统中的.在注册表中的HKEY-CLASSES-ROOT根键下可以看到其相关信息.

若将文件扩展名改为系统不认知的扩展名,则在打开时提示选择其打开程序.如将hello.txt改为hello.123,同时可以看到图标也发生了变化,变为不可知.但是对于如.doc格式的WORD文件,由于是MICROSOFT开发的,保持了很好的兼容性,系统在感知时并不只检查扩展名,还检查其文件内部格式标识,所以即使将.doc改为其它字符,在装了WORD的系统中,系统仍能够使其关联到WORD进行打开.

更多PHP相关技术文章,请访问PHP图文教程栏目进行学习!

以上是文件名中不能包含的字符的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板