PHP学习笔记2:文件

1、 获取预定义的服务器文档根目录也有3种方法:
推荐,$_SERVER['DOCUMENT_ROOT'];

一种出去服务器安全考虑的路径写法,使文件位于整个文档树的外部。
如:
$fp = fopen("$_SERVER['DOCUMENT_ROOT']/../orders/orsers.txt","w");

2、fopen函数
1)路径问题,绝对路径和相对路径都可。然后斜线的不同。Unix下是正斜线(/), windows下是正斜线反斜线都可,但反斜线要转义(\\)
2)文件打开方式上,x  x+   谨慎写(如果未按已存在,该文件将不会被打开,函数返回false)
3)php.ini可以配置  allow_url_fopen指令,然后打开ftp://   或http://的远程文件。
注意1,当使用 早期版本的HTTP模式时,必须在目录名称后 加上结束斜线。如: http://www.example.com/  而不是 http://www.example.com  。后者,Web服务器通常会使用HTTP重定向。
注意2,URL中域名不区分大小写,但是路径和文件名可能会区分大小写(应该取决于目标操作系统)。
注意3,判断打开出错问题。
fopen()函数要是调用失败,就返回false,可以通过抑制系统失败,然后返回一种对用户友好的方式来处理错误。
PHP学习笔记2:文件_第1张图片

3、写文件
fwrite()   ,然后fputs()是fwrite() 的别名函数。
fwrite() 的一个替换函数是 file_put_contents(),这个函数可以 不先调用fopen,这是PHP5新引入的。
PHP学习笔记2:文件_第2张图片

注意:分割字符或定界字符一定不能出现在输入中,或者我们队输入进行处理,将分隔符删除或者进行转义处理

记得最后fclose($fp)

4、读文件的各种姿势
1)何时读完文件  feof() 
2)每次读取一行数据
fgets()  : 每次读取一行数据,读到换行符、文件结束符或者指定的最大程度。比如  fgets($fp,999),可以最大度999-1=998B。
fgetss(): 可以过滤字符串的标记
fgetcsv():可以指定定界符,把字符串分为多行,如果没指定,默认是双引号。
3)4种读取整个文件方法。
readfile() :使用这个函数,将打开文件,然后将文件内容输出到标准输出(如浏览器)中,然后关闭这个文件。
fpassthru() :这个药先fopen
file() :可以贱结果发到标准输出,或者数组中。
file_get_contents():以字符串形式返回文件内容,而不是回显到浏览器。
4)读取一个字符
fgetc()
注意:fgetc()会返回文件结束符EOF,而 fgets() 不会
5)读取任意长度
fread()
6)判断文件是否存在
file_exists()
7)确定文件大小
filesize()
8)删除一个文件
unlink()
9)文件定位
rewind()   fseek()  ftell()
10)文件锁定
flock()


你可能感兴趣的:(PHP,文件,数据存储,fopen)