当前位置:Gxlcms > PHP教程 > PHP文件的基本操作

PHP文件的基本操作

时间:2021-07-01 10:21:17 帮助过:15人阅读

  1. //文件的基本操作
  2. //fopen()
  3. 打开一个文件
  4. //使用绝对路径打开一个文件,选择只读模式,并返回资源$handle
  5. $handle=fopen("D:/lamp/apache2/htdocs/test/file.txt","r");
  6. //访问文档根目录下的文件,也选择只读模式
  7. $handle=fopen($_SERVER['DOCUMENT_ROOT']."/test/file.txt","r");
  8. //打开远程文件,使用http协议只能以读的方式打开
  9. $handle=fopen("http://www.wowsai.com","r");
  10. //使用FTP协议打开远程文件,如果FTP服务器可写,则可以以写的模式打开
  11. //$handle=fopen("ftp://user:password@example.com/file.txt",'w');
  12. //fclose()
  13. 关闭打开的资源类型
  14. //fwrite()
  15. 向文件中写入内容
  16. $fileName="data.txt";
  17. //声明一个文件的变量
  18. //用只写的方式打开文件,没有则创建,并且在打开失败时通过程序
  19. $f_handle=fopen("data.txt","w")or die("打开".$fileName."文件失败");
  20. for($i=0;$i<10;$i++){
  21. //通过一个循环,向文件中添入内容
  22. fwrite($f_handle,"again\n");
  23. }
  24. fclose($f_handle);
  25. //关闭打开的文件
  26. //file_put_contents()
  27. 一次将所有数据写入到指定的文件中
  28. //读取文件内容
  29. //fread()
  30. 读取打开的文件
  31. //file_get_contents()
  32. 将文件读入字符串
  33. //fgets()
  34. 从打开的文件中返回一行
  35. //fgetc()
  36. 从打开的文件中返回字符
  37. //file()
  38. 把文件读入一个数组中
  39. //readfile()
  40. 读取一个文件,并输出到输出缓冲
  41. //feof()
  42. 判断一个文件指针是否位于文件的结束处
  43. //从文件中读取指定字节数的内容存入到一个变量中
  44. $fileName2="data.txt";
  45. $f_hand=fopen($fileName2,"r")or die("文件打开失败");
  46. $contents=fread($f_hand,50);
  47. fclose($f_hand);
  48. echo $contents."
    ";
  49. //从文件中读取全部内容存入到一个变量中,每次读取一部分,循环读取
  50. /* $fileName3="D:/lamp/apache2/icons/link.gif";
  51. //将二进制文件的文件名保存到一个变量中
  52. $f3_handle=fopen($fileName3,"rb")or die("文件打开失败"); //以只读的方式打开文件,模式加了"b"
  53. $f3_contents="";
  54. //声明一个用于保存文件内容的字符串
  55. while(!feof($f3_handle)){
  56. //循环读取文件中的内容,知道文件结束
  57. $f3_contents.=fread($f3_handle,1024);
  58. //每次读取1024个字符
  59. }
  60. fclose($f3_handle);
  61. echo $f3_contents; */
  62. //另一种读取文件全部内容的方法
  63. $fileName4="data.txt";
  64. $f4_handle=fopen($fileName4,"r")or die("文件打开失败");
  65. $f4_con=fread($f4_handle,filesize($fileName4));
  66. //用filesize获取文件的长度,这样来读取文件的全部内容
  67. fclose($f4_handle);
  68. echo $f4_con."
    ";
  69. //另一种方法读取文件的全部内容,比上面的性能要好的多
  70. echo file_get_contents("data.txt");
  71. $f5_handle=fopen("data.txt","r") or die("文件打开失败");
  72. while(!feof($f5_handle)){
  73. //判断指针是否到文件结尾
  74. $buffer=fgets($f5_handle);
  75. //每次从文件中读取一行
  76. echo $buffer."
    ";
  77. }
  78. fclose($f5_handle);
  79. $f6_handle=fopen("data.txt","r") or die("文件打开失败");
  80. while(!feof($f6_handle)){
  81. //判断指针是否到文件结尾
  82. $buffer=fgetc($f6_handle);
  83. //每次从文件中读取一个字符
  84. echo $buffer."
    ";
  85. }
  86. fclose($f6_handle);
  87. print_r(file("data.txt"));
  88. //把文件读入到一个数组中
  89. readfile("data.txt");
  90. //直接将文件中的内容读出,并输出到浏览器
  91. //访问远程文件
  92. 确保php.ini中的"allow_url_fopen"是打开的,并且确保远程文件具有访问权限
  93. $ws_file=fopen("http://www.wowsai.com","r")or die("远程文件打开失败");
  94. //打开远程文件
  95. while(!feof($ws_file)){
  96. $ws_line=fgets($ws_file);
  97. if(preg_match("/(.*)<\/title>/",$ws_line,$res)){<li>//使用正则匹配网站的标题<li>$title=$res[1];<li>break;<li>}<li>}<li>fclose($ws_file);<li>echo $title."<br>";<li>//移动文件的指针<li>//ftell()<li>返回指针的当前位置<li>//fseek()<li>移动指针到指定的位置<li>//rewind()<li>移动指针到文件的开头<li>$fp=fopen("data.txt","r") or die("文件打开失败");<li>//用只读方式打开文件 <li>echo ftell($fp)."<br>";<li>//</pre>输出刚打开文件时的指针的位置,默认是0<li>echo fread($fp,10)."<br>";<li>//读取文件的前10个字符,文件指针发生了改变<li>echo ftell($fp)."<br>";<li>//读取文件的10个字符后,文件的指针到了10的位置<li>fseek($fp,30,SEEK_CUR);<li>//将文件的指针向后移动30个字符<li>echo ftell($fp)."<br>";<li>//文件移动30个字符后,到了40的位置<li>echo fread($fp,10)."<br>";<li>//读取40到50之间的字符,指针会到50<li>fseek($fp,-10,SEEK_END);<li>//将指针设置到文件倒数第10的位置<li>echo fread($fp,10)."<br>";<li>//</pre>输出文件最后10个字符<li>rewind($fp);<li>//将文件指针设置到文件的开头<li>echo ftell($fp);<li>//文件的指针又回到了开头,所以会</pre>输出0<li>fclose($fp);<li>?><li></ol><em onclick="copycode($('code_S8k'));"></em> <br /></td></tr></table> PHP </div> <div class=""> <ul class="m-news-opt fix"> <li class="opt-item"> <a href='/PHPjiqiao-174968.html' target='_blank'><p>< 上一篇</p><p class="ellipsis">PHP怎么实现网站保存快捷方式</p></a> </li> <li class="opt-item ta-r"> <a href='/PHPjiqiao-174970.html' target='_blank'><p>下一篇 ></p><p class="ellipsis">PHP的文件操作</p></a> </li> </ul> </div> </div> </div> <div class="g-title fix"> <h2 class="title-txt">人气教程排行</h2> </div> <div class="m-rank u-dashed mb40"> <ul> <li class="rank-item"> <a href="/PHPjiqiao-379253.html" title='php如何获取跳转前的url' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num top">1</span> php如何获取跳转前的url </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-379019.html" title='php格林威治时间转换成当前时间的方法' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num second">2</span> php格林威治时间转换成当前时间的方法 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-366629.html" title='为什么php不能做大型系统?' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num third">3</span> 为什么php不能做大型系统? </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-207623.html" title='range函数怎么用' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">4</span> range函数怎么用 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-162433.html" title='php中计算页面加载时间几种方法总结_PHP教程' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">5</span> php中计算页面加载时间几种方法总结_PHP教程 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-140221.html" title='求帮助,关于paypal支付返回值修改订单状态' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">6</span> 求帮助,关于paypal支付返回值修改订单状态 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-103588.html" title='typecho怎么配置文章内容页?' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">7</span> typecho怎么配置文章内容页? </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-99213.html" title='PhpStorm左侧structure不显示文件的方法列表是这么回事?' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">8</span> PhpStorm左侧structure不显示文件的方法列表是这么回事? </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-92208.html" title='查看PHP的环境变量_PHP' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">9</span> 查看PHP的环境变量_PHP </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-170.html" title='PHP Primary script unknown 解决方法总结' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">10</span> PHP Primary script unknown 解决方法总结 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-148.html" title='php的命名空间与自动加载实现方法' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">11</span> php的命名空间与自动加载实现方法 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-133.html" title='解决laravel 出现ajax请求419(unknown status)的问题' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">174次</span> <span class="g-sort-num ">12</span> 解决laravel 出现ajax请求419(unknown status)的问题 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-462817.html" title='php 如何删除mysql记录' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">173次</span> <span class="g-sort-num ">13</span> php 如何删除mysql记录 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-388448.html" title='PHP如何替换数组中的指定元素' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">173次</span> <span class="g-sort-num ">14</span> PHP如何替换数组中的指定元素 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-124270.html" title='怎么去除字符串中非汉字、非字母、非数字的字符' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">173次</span> <span class="g-sort-num ">15</span> 怎么去除字符串中非汉字、非字母、非数字的字符 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-112291.html" title='mysql如何一次执行多条SQL语句' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">173次</span> <span class="g-sort-num ">16</span> mysql如何一次执行多条SQL语句 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-110669.html" title='修改header里面的Connection为close解决方法' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">173次</span> <span class="g-sort-num ">17</span> 修改header里面的Connection为close解决方法 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-153.html" title='PHP基于session.upload_progress 实现文件上传进度显示功能详解' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">173次</span> <span class="g-sort-num ">18</span> PHP基于session.upload_progress 实现文件上传进度显示功能详解 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-125.html" title='php5.6.x到php7.0.x特性小结' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">173次</span> <span class="g-sort-num ">19</span> php5.6.x到php7.0.x特性小结 </a> </li> <li class="rank-item"> <a href="/PHPjiqiao-378118.html" title='php为什么会出现504错误' class="item-name ellipsis" target="_blank"> <span class="g-art-count fr">172次</span> <span class="g-sort-num ">20</span> php为什么会出现504错误 </a> </li> </ul> </div> </div> </div> <!-- / 教程内容页 --> </div> </div> <!-- 页尾 --> <div class="footer"> 本站所有资源全部来源于网络,若本站发布的内容侵害到您的隐私或者利益,请联系我们删除!</div> <!-- / 页尾 --> <script type="text/javascript" src="/kan/js/read.js"></script> <div style="display:none"> <div class="login-box" id="login-dialog"> <div class="login-top"><a class="current" rel="nofollow" id="login1" onclick="setTab('login',1,2);" >登录</a></div> <div class="login-form" id="nav-signin"> <!-- <div class="login-ico"><a rel="nofollow" class="qq" id="qqlogin" target="_blank" href="/user-center-qqlogin.html"> QQ </a></div> --> <div class="login-box-form" id="con_login_1"> <form id="loginform" action="/user-center-login.html" method="post" onsubmit="return false;"> <p class="int-text"> <input class="email" id="username" name="username" type="text" value="用户名或Email" onfocus="if(this.value=='用户名或Email'){this.value='';}" onblur="if(this.value==''){this.value='用户名或Email';};" ></p> <p class="int-text"> <input class="password1" type="password" id="password" name="password" value="******" onBlur="if(this.value=='') this.value='******';" onFocus="if(this.value=='******') this.value='';" > </p> <p class="int-info"> <label class="ui-label"> </label> <label for="agreement" class="ui-label-checkbox"> <input type="checkbox" value="" name="cookietime" id="cookietime" checked="checked" value="2592000"> <input type="hidden" name="notforward" id="notforward" value="1"> <input type="hidden" name="dosubmit" id="dosubmit" value="1">记住我的登录 </label> <a rel="nofollow" class="aright" href="/user-center-forgetpwd.html" target="_blank"> 忘记密码? </a></p> <p class="int-btn"><a rel="nofollow" id="loginbt" class="loginbtn"><span>登录</span></a></p> </form> </div> <form id="regform" action="/user-center-reg.html" method="post"> <div class="login-reg" style="display: none;" id="con_login_2"> <input type="hidden" name="t" id="t"/> <p class="int-text"> <input id="email" name="email" type="text" value="Email" onfocus="if(this.value=='Email'){this.value='';}" onblur="if(this.value==''){this.value='Email';};"></p> <p class="int-text"> <input id="uname" name="username" type="text" value="用户名或昵称" onfocus="if(this.value=='用户名或昵称'){this.value='';}" onblur="if(this.value==''){this.value='用户名或昵称';};"></p> <p class="int-text"> <input type="password" id="pwd" name="password" value="******" onBlur="if(this.value=='') this.value='******';" onFocus="if(this.value=='******') this.value='';"> </p> <p class="int-text1"><span class="inputbox"> <input id="validate" name="validate" type="text" value="验证码" onfocus="if(this.value=='验证码'){this.value='';}" onblur="if(this.value==''){this.value='验证码';};"> </span><span class="yzm-img"><img src="/user-checkcode-index" alt="看不清楚换一张" id="indexlogin"></p> <p class="int-info"> <label> <input value="" name="agreement" id="agreement" CHECKED="checked" type="checkbox"> 我已阅读<a rel="nofollow" href="/user-center-agreement.html">用户协议</a>及<a rel="nofollow" href="/user-center-agreement.html">版权声明</a></label> </p> <p class="int-btn"><input type="hidden" name="dosubmit"/> <a rel="nofollow" class="loginbtn" id="register"><span>注册</span></a></p> </div> </form> </div> </div> </div> </div> <script type="text/javascript" src="/kan/js/foot_js.js"></script> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?6dc1c3c5281cf70f49bc0bc860ec24f2"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script type="text/javascript" src="/layui/layui.js"></script> <script> layui.use('code', function() { layui.code({ elem: 'pre', //默认值为.layui-code about: false, skin: 'notepad', title: 'php怎么实现数据库验证跳转代码块', encode: true //是否转义html标签。默认不开启 }); }); </script> </body> </html>