仓酷云

标题: PHP教程之PHP开辟中关于文件操作的疑问问答 [打印本页]

作者: 愤怒的大鸟    时间: 2015-2-4 00:09
标题: PHP教程之PHP开辟中关于文件操作的疑问问答
学习了六个多月PHP了,还是个新手,在这里受到了很多人的帮助,谢谢你们!     媒介:
  PHP中对各类数据库的操作有着撑持,对文件的操作也一样有着很丰厚的操作办法,良多伴侣如今的操作仍是基于文件操作可是有的时分在操作文件的时分还存在很多的猜疑和疑点,以下是我在平常编写过程当中碰着的和坛上伴侣所碰着的关于文件操作的一些成绩保藏吧。
  问:若何新建一个文件?
  答:
  1、利用fopen(要创立的文件名,参数),参数可选w,w+,a,a+
  2、利用exec(echo '' > 要创立的文件名);如许是利用体系体例创立这个文件,你还可使用touch这个linux号令来创立
  问:为何我没法创立文件?
  答:
  1、假如你利用了fopen创立文件,是不是准确的利用了参数
  2、体系权限成绩,请扣问你的WEBMASTER你的FTP目次是不是有写的权限
  3、FTP权限成绩,你要确认你的PHP文件所要写文件地点目次要有写的权限,也就是你的FTP软件上岸后other组要有写这个权限,
假如没有请修正权限后测验考试
  问:若何将文件读入数组?
  答:利用file函数
  问:若何将文件全体读出?
  答:
 
  1、利用fread($fp);
  2、假如你的PHP版本>=4.3.0的话可使用file_get_contents();
  问:若何判别文件是不是存在?
  答:利用file_exists();
  再问:为何不利用fopen()来判别呢?
  答:缘由是有时分是由于权限成绩招致fopen前往的数据引诱咱们毛病的判别
  问:为何当我读取一个WEB页面的时分失足?
  答:
  1、多是你的传递参数错,当读取WEB页面的时分你只可使用r体例读取页面
  2、确保你要读取的WEB页面可以会见
  问:我若何才干取得文件的相干属性?
  答:PHP供应了一组取得文件属性的办法,例如 filemtime(),fileowner(),filegroup(),filectime(),fileatime()...具体的利用请参阅手册。
  问:PHP翻开文件后是不是可以象C一样停止文件“游标”的定位呢?
  答:可以的,利用fseek();
  问:我想在会见文件的时分不答应其别人也会见此文件,怎样办?
  答:
  1、你可以采取其他方面法式限制用户接入文件操作的页面
  2、利用flock();具体的参数和利用办法请参阅手册
  问:若何删除文件内第一行,或指定一行数据?
  答:
  PHP并没有供应如许的操作办法,不外咱们可以经由过程组合利用,以下代码演示咱们将删除文件test.dat中的第三行数据(test.dat 文件中数据不止三行)
<?php
 $filename=test.dat;//界说操作文件
 $delline=3; //要删除的行数
 if(!file_exsits($filename)){
  die(指定文件未发明!操作中止!);
 }
 $farray=file($filename);//读取文件数据到数组中
 for($tmpa=0;$Tmpa<count($farray);$Tmpa++){
  if(strcmp($Tmpa+1,$delline)==0){
   //判别删除的行
   continue;
  }
  //从头收拾整顿后的数据
  $newfp.=$farray[$Tmpa].\\r\\n;
 }
 $fp=@fopen($filename,a) or die(写体例翻开文件 $filename 掉败);//咱们以写的体例翻开文件
 @fputs($fp,$newfp) or die(文件写入掉败);
 @fclose($fp);
?>
  以上代码演示的是删除一行文件,不外你假如细心的看的话,其实也给你供应了其他的文件操作的相干提示~
  问:当我试图翻开一个不存在的文件的时分,我若何不让毛病显示出来以免我的途径泄漏!!
  答:在你要翻开文件的办法前增添@符号用来屏障毛病,@是PHP供应的毛病信息屏障的公用符号或您可以在这个要操作的步调前增添(凡是是在页首)error_reporting(0);用来屏障页面内一切毛病信息的显示一个不保举的办法就是去修正php.ini(ISP除外)。
  问:我利用的是虚拟主机,我若何避免其他用户盗取我的数据?
  答:建议ISP修正php.ini中的open_basedir停止限制,不保举的ISP设置是将fopen,file等文件操作到场disable_function中。
  问:为何我用PHP创立文件后我FTP上岸要删除这些文件没法删除??
  答:次要是由于PHP创立的文件归属WEB用户组,也就是创立的文件,并不是是你FTP用户的!!!这个成绩的处理就是,利用PHP法式的chmod,unlink等体例停止处置,建议用户在利用PHP创立文件的时分记得chmod文件权限,建议为777
  问:若何利用文本文件作为数据仓库?有的留言本,服装论坛之类的都是利用这个的啊!
  答:其实这个次要仍是利用了file,联合explode停止数据读取与朋分的典范典范罢了。
  问:若何更改文件名?
  答:rename();
  问:若何删除文件?
  答:unlink(); exec(del(rm -vf) filename);
  注:rm -vf为linux下利用
  问:若何清空文件?
  答:利用fopen(filename,w);或exec(echo '' > filename);
  问:若何编纂文件内容?
  答:我记得我之前回覆过一个删除文件内容的,其实编纂内容在删除内容的基本上,停止变量交换就能够了。但愿你可以向上找找,将我下面的continue修正为交换变量数据就能够了。
转自:静态网站制造指南 | www.knowsky.com会HTML吗?会,我能编好几个大表格排板的网页啦!
作者: 第二个灵魂    时间: 2015-2-4 09:30
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 透明    时间: 2015-2-9 21:24
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 爱飞    时间: 2015-2-11 03:56
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 因胸联盟    时间: 2015-3-1 05:26
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者: 小女巫    时间: 2015-3-10 12:49
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
作者: 不帅    时间: 2015-3-23 12:29
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 老尸    时间: 2015-3-24 15:31
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
作者: 小魔女    时间: 2015-3-27 03:10
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
作者: admin    时间: 2015-3-27 11:10
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
作者: 仓酷云    时间: 2015-3-29 17:46
做为1门年轻的语言,php一直很努力。
作者: 乐观    时间: 2015-4-1 23:09
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: 金色的骷髅    时间: 2015-4-7 00:41
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 再现理想    时间: 2015-4-22 03:05
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 若相依    时间: 2015-4-24 00:32
爱上php,他也会爱上你。
作者: 分手快乐    时间: 2015-5-12 10:10
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 兰色精灵    时间: 2015-6-6 00:00
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
作者: 山那边是海    时间: 2015-6-27 00:20
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
作者: 简单生活    时间: 2015-6-29 21:47
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2