仓酷云

标题: PHP网页编程之PHP开辟中文件操作疑问问答 [打印本页]

作者: 山那边是海    时间: 2015-2-4 00:29
标题: 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修正为交换变量数据就能够了。

  在学习PHP这六个月里,每看到一个优秀的php脚本,就会兴奋的手舞足蹈,嘴里还不停的说:太酷了,太酷了。呵呵,很幼稚吧,但这可能就是兴趣。
作者: 活着的死人    时间: 2015-2-4 13:14
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 小妖女    时间: 2015-2-4 13:49
兴趣是最好的老师,百度是最好的词典。
作者: 仓酷云    时间: 2015-2-7 18:00
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 爱飞    时间: 2015-2-22 20:00
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
作者: 飘飘悠悠    时间: 2015-3-1 09:45
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 乐观    时间: 2015-3-9 03:08
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者: 变相怪杰    时间: 2015-3-13 08:09
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 因胸联盟    时间: 2015-3-14 22:30
爱上php,他也会爱上你。
作者: 金色的骷髅    时间: 2015-3-29 00:31
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: admin    时间: 2015-4-1 09:11
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者: 第二个灵魂    时间: 2015-4-7 20:07
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者: 柔情似水    时间: 2015-4-16 08:52
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
作者: 海妖    时间: 2015-4-30 19:12
Ps:以上纯属原创,如有雷同,纯属巧合
作者: 只想知道    时间: 2015-5-6 17:34
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 小女巫    时间: 2015-5-12 14:29
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 简单生活    时间: 2015-6-4 02:34
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 若相依    时间: 2015-6-18 16:02
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者: 兰色精灵    时间: 2015-7-9 20:48
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 老尸    时间: 2015-7-9 23:46
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)




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