关于php打开文件的写法原因之辨误

这是对一种错误表述的评论,错误见文后部分

"windows系统是直接输入文件的绝对路径需要这种方式"e:\\aaa.txt",注意是两个反斜杠,一个反斜杠的话就错了"这个说法是误导,或有 误导之嫌。windows系统表示文件路径时,使用一个反斜杠,而反斜杠在很多语言里表示转义之用,所以要用两个反斜杠;路径的字符串在程序运行过程中 (内存里),实际还是一个。

如果在php里,这样的用单引号括起路径字符串,如下这样是这完全正确的 readfile('e:\Downloads\t.txt'); 而readfile("e:\Downloads\t.txt");这样写就错了。不过事实上,在win32版的php里,这样写也是对的 readfile("e:\Downloads\z.txt"); 可能是反斜杠后是一个非转义字符,php把此\解析为常规反斜杠。

php里,用单引号括起路径字符串,readfile('e:\Downloads\t.txt');是这完全正确的,而readfile("e: \Downloads\t.txt");这样写就错了。不过事实上,在win32版的php里,这样写也是对的 readfile("e:\Downloads\z.txt"); 可能是反斜杠后是一个非转义字符,php把此\解析为常规反斜杠(但反对这样使用)。

——以上是对新浪微博里的一条微博做的回复,该条微博如下:http://weibo.com/1767100271/xDUCLyFYM【fopen函数的使用的几种方式】 //第一种使用fopen的方式,windows系统是直接输入文件的绝对路径需要这种方式"e:\\aaa.txt",注意是两个反斜杠,一个反斜杠的话就错了 //

原发微者没有回应,那就这管他了,把该条回复转到这里。

查看一个rpm包中包含那些文件/文件属于哪个rpm包

一个rpm包中包含那些文件
一个没有安装过的软件包,使用rpm -qlp rpm-filename.rpm
一个已经安装过的软件包,还可以使用rpm -ql packet-name
查看一个文件属于哪个rpm包, rpm -qf /path/filename

如:
查看glibc包内的文件

[root@fsc ~]# rpm -ql glibc
/etc/gai.conf
/etc/ld.so.cache
/etc/ld.so.conf
/etc/ld.so.conf.d
/etc/localtime
/etc/nsswitch.conf
/etc/rpc
/lib/i686
/lib/i686/nosegneg
/lib/i686/nosegneg/libc-2.12.so
....

 

 [root@fsc ~]# rpm -qf /usr/lib/gconv/libKSC.so
 glibc-2.12-1.7.el6_0.5.i686

 

对 Linux 文件名中有短横线“-”的操作

对 Linux 文件 名 中有“-”的操作

[日期:2008-08-22] 来源:红联 Linux   作者:albume

Linux 中"-"有特殊的含义,比如在命令的后面加"-"表示后面跟的是选项。但是如何新建带名字中有"-",下面介绍三种方法,比如要新建 文件 "-a":

1、cd .>-a

2、vi -- -a

3、echo"">-a

上面三种方法都可以在当前目录下新建一个"-a" 文件 ,当然还可以有别的方法新建,这里就不在介绍。如果要删除"-a"就比较麻烦了,如果你输入 rm -a,系统会提示你:

rm:无效选项 -- a

请尝试执行‘rm --help’来获取更多信息。

对于这样的 文件 可以有两种方法来删除,如下所示:

1、rm ./-a

2、rm -- -a

改名字也不用说了,基本上就是在 文件 名前面加"--"来表示转义字符就可以了!