Question:如何存储数据?
Answer:数据都是有组织的存储在计算机的硬盘中,这种组织结构称为文件.
每个文件都有读,写,执行三种权限.
每个文件的所有者分为:用户,用户组,其他人.所有者就是用户,文件也可以指定一个用户组,除了用户与用户组之外的用户都是其他人.
文件的读写执行权限针对这三种用户可以分别设置不同的权限,只要知道把文件权限改为任何人可读就可以了.
windows系统不存在权限问题
001–fopen 打开一个文件
$fp = fopen(“a.txt”,”w”);
以写入的方式打开一个文件,如果文件a.txt不存在,自动创建
002-fwrite 向文件写入
$str = “hello world”;
fwrite($fp,$str);
003-fclose 关闭已经打开的文件资源
fclose($fp);
004-fread 读取文件内容
$fp = fopen(“a.txt”,”r”);//以只读方式打开,定位到文件头
$content = fread($fp,100);
fclose($fp);
echo $content;
005-比较一下r+与w+的区别
r+ 覆盖内容,继续显示
$fp = fopen(“a.txt”,”r+”);
fwrite($fp,”sunjie”);
fclose($fp);
w+ 清空内容,重新显示
$fp = fopen(“a.txt”,”w+”);
fwrite($fp,”yuandan”);
fclose($fp);
006-a 以写入文件方式打开,打开后文件的指针在文件的末尾(读与写是两个并列的权限)
$fp = fopen(“a.txt”,”a+”);
fwrite($fp,”xxx”);//写入数据后,文件指针指向了文件的末尾
fseek($fp, 5);//通过fseek将文件指针重新定位到文件的开始
$content = fread($fp,100);//有输出但是不包含新写入的
fclose($fp);
echo $content;
007-写入多行数据,文件的行以\n结束(html是br)
$fp = fopen(“a.txt”,”w”);
fwrite($fp,”abcd\n”);
fwrite($fp,”efgh\n”);
fclose($fp);
008-fgets 逐行读取
$fp = fopen(“a.txt”,”r”);
$line1 = fgets($fp);//读完一行后,文件指针指向到下一行的开头
$line2 = fgets($fp);
fclose($fp);
echo $line1.
"<br/>"
;echo $line2.
"<br/>"
;
009-feof 当文件已经到达末尾或者出错,返回true (用来判断是否已经读取到文件尾部)
—-feof - 当文件已经到达末尾或者出错 返回true
—-使用while循环读取出所有的行
$line = array();//定义一个数组,存储行数
$fp = fopen(“a.txt”,”r”);
while(!feof($fp)) {
$line[] = fgets($fp);//一行一行读取
} fclose($fp);
print_r($line);
010-file 将文件读入到一个数组中
$line = file(“a.txt”);
print_r($line);
011-file_get_contents 将一个文件读入一个字符串
echo file_get_contents(“a.txt”);
echo file_get_contents(“http://www.baidu.com“);//这种情况下称当前服务器为代理服务器
//因为我们首先访问这台服务器,然后通过这台服务器访问百度
012-file_put_contents 将一个字符串写入文件,相当于fopen - w,fwrite,fclose
—-相当于 fopen - w,fwrite,fclose
file_put_contents(“a.txt”,”welcome”);//打开清空之前内容 相当于w
013-filesize 取得文件大小
echo filesize(“a.txt”);//字节