13 十章 文件操作
<br><div id="codeText" class="codeText"><ol style="margin: 0pt 1px 0pt 0pt; padding: 5px 0pt;" start="1" class="dp-css"><li><span style="color:#000000;"><span style="color:#0000CC;"><</span><span style="color:#0000CC;">?</span>php<br></span></li><li> <span style="color:#0000CC;"></span><br></li><li>
<span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span> r 只读。文件指针置于文件开头<br></li><li>
<span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span> r<span style="color:#0000CC;">+</span> 读写。文件指针置于文件开头<br></li><li>
<span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span> w 只写。在写入前,删除文件内容,将指针返回到文件开头,如果文件<br></li><li>
<span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span>不存在,则创建<br></li><li>
<span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span> w<span style="color:#0000CC;">+</span> 读写。在读取或写入前,删除文件内容,如果文件不存在,则创建<br></li><li>
<span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span> a 只写。文件指针位于文件末尾。如果文件不存在,则创建。<br></li><li>
<span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span> a<span style="color:#0000CC;">+</span> 读写。文件指针置于文件末尾。如果文件不存在,则创建。<br></li><li>
<span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span> b 以二进制模式打开文件<br></li><li>
<span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span> t 以文本模式打开文件</li></ol> <font color="#F00000" size="5"> <span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span> feof 文件结束</font><ol style="margin: 0pt 1px 0pt 0pt; padding: 5px 0pt;" start="1" class="dp-css"><li>
<span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span>open a txt<br></li><li>
$fh <span style="color:#0000CC;">=</span> fopen<span style="color:#0000CC;">(</span><span style="color:#FF00FF;">"/usr/local/apache/htdocs/users.txt"</span><span style="color:#0000CC;">,</span><span style="color:#FF00FF;">"rt"</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span>当没有到达结束eof<br></li><li>
<span style="color:#0000FF;">while</span><span style="color:#0000CC;">(</span><span style="color:#0000CC;">!</span>feof<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>fh<span style="color:#0000CC;">)</span><span style="color:#0000CC;">)</span><br></li><li>
echo fgets<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>fh<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
fclose<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>fh<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
echo <span style="color:#FF00FF;">"<br />"</span><span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
<font size="5"> </font><font color="#F00000" size="5"><span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span>1 将文件读入数组 file</font><br></li><li>
echo <span style="color:#FF00FF;">"<br />"</span><span style="color:#0000CC;">;</span><br></li><li>
$users <span style="color:#0000CC;">=</span> file<span style="color:#0000CC;">(</span><span style="color:#FF00FF;">"users.txt"</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
foreach<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>users as $user<span style="color:#0000CC;">)</span><br></li><li>
<span style="color:#0000CC;">{</span><br></li><li>
list<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>name<span style="color:#0000CC;">,</span><span style="color:#0000CC;">$</span>email<span style="color:#0000CC;">)</span> <span style="color:#0000CC;">=</span> explode<span style="color:#0000CC;">(</span><span style="color:#FF00FF;">" "</span><span style="color:#0000CC;">,</span><span style="color:#0000CC;">$</span>user<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
echo <span style="color:#FF00FF;">"name is :$name, email is :$email <br />"</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
echo <span style="color:#FF00FF;">"<br />"</span><span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
<font size="5"> </font><font color="#F00000" size="5"><span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span>2 将文件内容读入字符串变量 file_get_contents</font><br></li><li>
$userfile <span style="color:#0000CC;">=</span> file_get_contents<span style="color:#0000CC;">(</span><span style="color:#FF00FF;">"users.txt"</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
$users <span style="color:#0000CC;">=</span> explode<span style="color:#0000CC;">(</span><span style="color:#FF00FF;">"\n"</span><span style="color:#0000CC;">,</span><span style="color:#0000CC;">$</span>userfile<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
foreach<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>users as $user<span style="color:#0000CC;">)</span><br></li><li>
<span style="color:#0000CC;">{</span><br></li><li>
list<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>name<span style="color:#0000CC;">,</span><span style="color:#0000CC;">$</span>email<span style="color:#0000CC;">)</span> <span style="color:#0000CC;">=</span> explode<span style="color:#0000CC;">(</span><span style="color:#FF00FF;">" "</span><span style="color:#0000CC;">,</span><span style="color:#0000CC;">$</span>user<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
echo <span style="color:#FF00FF;">"name is $name,email is :$email <br />"</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
echo <span style="color:#FF00FF;">"<br />"</span><span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
<font color="#F00000" size="4"> <font size="5"><span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span>3 将CSV文件读入数组fgetscsv</font></font><font size="5"><br></font></li><li>
<font size="5"><br></font></li><li><font size="5">
</font><font color="#F00000" size="5"> <span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span>读取制定数目的字符 fgets</font><br></li><li>
$fh1 <span style="color:#0000CC;">=</span> fopen<span style="color:#0000CC;">(</span><span style="color:#FF00FF;">"users.txt"</span><span style="color:#0000CC;">,</span><span style="color:#FF00FF;">"rt"</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000FF;">while</span><span style="color:#0000CC;">(</span><span style="color:#0000CC;">!</span>feof<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>fh1<span style="color:#0000CC;">)</span><span style="color:#0000CC;">)</span><br></li><li>
echo fgets<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>fh1<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
fclose<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>fh1<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
echo <span style="color:#FF00FF;">"<br />"</span><span style="color:#0000CC;">;</span> <br></li><li>
<font color="#F00000" size="4"><br></font></li><li><font color="#F00000" size="4">
<font size="5"> <span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span>4 从输入中剔除标记 fgetss<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span><br></font></font></li><li>
<font color="#F00000" size="5"><br></font></li><li><font color="#F00000" size="5">
<span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span>5 以一次读取一个字符的方式读取文件 fgetc<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span><br></font></li><li>
<font color="#F00000" size="5"><br></font></li><li><font color="#F00000" size="5">
<span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span>6 忽略换行符 fread<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span></font><br></li><li>
echo <span style="color:#FF00FF;">"<br />"</span><span style="color:#0000CC;">;</span><br></li><li>
$file <span style="color:#0000CC;">=</span> <span style="color:#FF00FF;">"users.txt"</span><span style="color:#0000CC;">;</span><br></li><li>
$fh2 <span style="color:#0000CC;">=</span> fopen<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>file<span style="color:#0000CC;">,</span><span style="color:#FF00FF;">"rt"</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
$userdata <span style="color:#0000CC;">=</span> fread<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>fh2<span style="color:#0000CC;">,</span>filesize<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>file<span style="color:#0000CC;">)</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
echo <span style="color:#FF00FF;">"$userdata <br />"</span><span style="color:#0000CC;">;</span><br></li><li>
fclose<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>fh2<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
<font color="#F00000" size="5"> <span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span>7 读取整个文件 readfilea 立即输出到输出缓冲区 返回字节数</font><br></li><li>
echo <span style="color:#FF00FF;">"7 < br />"</span><span style="color:#0000CC;">;</span><br></li><li>
$file1 <span style="color:#0000CC;">=</span> <span style="color:#FF00FF;">"users.txt"</span><span style="color:#0000CC;">;</span><br></li><li>
$byte <span style="color:#0000CC;">=</span> readfile<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>file1<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
echo <span style="color:#FF00FF;">"<br />"</span><span style="color:#0000CC;">;</span><br></li><li>
echo <span style="color:#FF00FF;">"$byte <br />"</span><span style="color:#0000CC;">;</span> <br></li><li>
<br></li><li>
<font size="5"> </font><font color="#F00000" size="5"> <span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span>8 根据预定义的格式读取文件fscanf</font><br></li><li>
$fh3 <span style="color:#0000CC;">=</span> fopen<span style="color:#0000CC;">(</span><span style="color:#FF00FF;">"socal.txt"</span><span style="color:#0000CC;">,</span><span style="color:#FF00FF;">"r"</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000FF;">while</span><span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>user <span style="color:#0000CC;">=</span> fscanf<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>fh3<span style="color:#0000CC;">,</span><span style="color:#FF00FF;">"%d-%d-%d"</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">)</span><br></li><li>
<span style="color:#0000CC;">{</span><br></li><li>
list<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>part1<span style="color:#0000CC;">,</span><span style="color:#0000CC;">$</span>part2<span style="color:#0000CC;">,</span><span style="color:#0000CC;">$</span>part3<span style="color:#0000CC;">)</span> <span style="color:#0000CC;">=</span> $user<span style="color:#0000CC;">;</span><br></li><li>
printf<span style="color:#0000CC;">(</span><span style="color:#FF00FF;">"part1:%d part2:%d part3:%d <br />"</span><span style="color:#0000CC;">,</span><span style="color:#0000CC;">$</span>part1<span style="color:#0000CC;">,</span><span style="color:#0000CC;">$</span>part2<span style="color:#0000CC;">,</span><span style="color:#0000CC;">$</span>part3<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<span style="color:#0000CC;">}</span><br></li><li>
fclose<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>fh3<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
<br></li><li>
<font color="#F00000" size="5"> <span style="color:#0000CC;">/</span><span style="color:#0000CC;">/</span>9将字符串写入文件 fwrite<span style="color:#0000CC;">(</span><span style="color:#0000CC;">)</span></font><br></li><li>
echo <span style="color:#FF00FF;">"<br />"</span><span style="color:#0000CC;">;</span><br></li><li>
$subscriberinfo <span style="color:#0000CC;">=</span> <span style="color:#FF00FF;">"jason glimore | gason@example.com"</span><span style="color:#0000CC;">;</span><br></li><li>
$fh4 <span style="color:#0000CC;">=</span> fopen<span style="color:#0000CC;">(</span><span style="color:#FF00FF;">"users.txt"</span><span style="color:#0000CC;">,</span><span style="color:#FF00FF;">"at"</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
fwrite<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>fh4<span style="color:#0000CC;">,</span><span style="color:#0000CC;">$</span>subscriberinfo<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
readfile<span style="color:#0000CC;">(</span><span style="color:#FF00FF;">"users.txt"</span><span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
fclose<span style="color:#0000CC;">(</span><span style="color:#0000CC;">$</span>fh4<span style="color:#0000CC;">)</span><span style="color:#0000CC;">;</span><br></li><li>
echo <span style="color:#FF00FF;">"<br />"</span><span style="color:#0000CC;">;</span></li></ol> <br> <font color="#F00000" size="5">//10 将文件指针偏移量指定的位置 fseek(resource handle, int offset, SEEK_CUR)</font><br> SEEK_CUR :当前的位置加上 offset<br> SEEK_END :结尾的位置加上 offset<br> SEEK_SET :设置指针位置为offset处<br> <br> <font color="#F00000" size="5">///11 ftell() 获取当前指针的偏移量<br> //12 rewind() 将文件指针移回至文件开始处</font><br><ol style="margin:0 1px 0 0;padding:5px 0;" start="1" class="dp-css"><li>
<br></li><li> fopendir 打开目录句柄</li><li> closedir 关闭目录句柄</li><li> readdir 解析目录内容</li><li> scanddir 将目录读入数组 <br></li><li>
<span style="color:#0000CC;">?</span><span style="color:#0000CC;">></span></li></ol></div><br><br><br>
页:
[1]