| 订阅 | 在线投稿
分享
 
 
 

关于PHP操作文件的一些FAQ总结

2008-12-22 08:08:05 编辑來源:互联网 国际版 评论
 
 
  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.datw

  文件中数据不止三行)

  <?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,]$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中对各类数据库的操作有着支持,对文件的操作也同样有着很丰富的操作方法,很多朋友现在的操作还是基于文件操作可是有的时候在操作文件的时候还存在不少的困惑和疑点,以下是我在日常编写过程中碰到的以及坛上朋友所碰到的关于文件操作的一些问题收藏吧。 问:如何新建一个文件? 答: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.datw 文件中数据不止三行) <?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"; } [url=mailto:$fp=@fopen($filename,]$fp=@fopen($filename,"a[/url]") 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修改为替换变量数据就可以了
󰈣󰈤
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

网络安全治理:国家安全保障的主要方向是打击犯罪,而不是处置和惩罚受害者

来源:中国青年报 新的攻击方法不断涌现,黑客几乎永远占据网络攻击的上风,我们不可能通过技术手段杜绝网络攻击。国家安全保障的主要方向是打击犯罪,而不是处置和惩罚...

 
 
 
>>返回首页<<
 为你推荐
 
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 
 热帖排行
 
单纯美女 迷人女孩
校园甜美少女
忍辱负重
大学校园
 
 
王朝网络微信公众号
微信扫码关注本站公众号wangchaonetcn
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
©2005- 王朝网络 版权所有