专业虚拟主机提供商! 正规合法诚信公司、拥有ICP/ISP双经营许可证
域名空间实时开通立即使用,几分钟即可完成
安全方便的网上支付,超强的域名空间管理程序
我要购买空间,请点这里
我要注册域名,请点这里
我要建设网站,请点这里
我要续费域名,请点这里
我要续费空间,请点这里
我要在线支付,请点这里
首 页 特惠套餐 域名注册 虚拟主机 托管租用 FTP空间 数据库 企业邮局 网站建设 联系我们 付款方式
 | 网站首页 | 虚拟主机资讯 | 域名注册资讯 | 托管租用资讯 | 网络编程 | 网站备案 | 系统安全 | 源码下载 | 
您现在的位置: IDC资讯网 >> 网络编程 >> php编程 >> 正文
PHP开发中最常见的文件操作疑难解答           ★★★
PHP开发中最常见的文件操作疑难解答
点击数: 更新时间:2009-9-25 16:41:30

前言:

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 文件中数据不止三行)

$filename="test.dat";//定义操作文件

$delline=3; //要删除的行数

if(!file_exsits($filename)){

die("指定文件未发现!操作中断!");

}

$farray=file($filename);//读取文件数据到数组中

for($tmpa=0;$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修改为替换变量数据就可以了。


以上内容均来自网络,由 稳速网络 搜集整理,如有侵权请联系我们立即删除,如转载请注明原文出处,并保留以下内容。
    [稳速网络] http://www.765.com.cnhttp://www.wsu.cn 是深圳市稳速网络科技有限公司的网络服务品牌,专业经营域名注册虚拟主机网站建设服务器租用托管等业务。经过多年的高速发展,“稳速网络”已经成为我国一家知名的互联网服务提供商。
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新推荐  更多内容
    最新热门  更多内容
    资讯中心首页
    | 虚拟主机资讯 | 域名注册资讯 | 托管租用资讯 | 网络编程 | 网站备案 | 系统安全 | 源码下载 |
    关于我们 | 联系我们 | 产品价格 | 代理加盟 | 咨询反馈 | 诚聘英才 | 在线对话系统 | ASP技术网 | 帮助中心 | 网站地图
    ICP/ISP证B2-20050322
    ICP/ISP经营许可证编号:粤ICP证B2-20050322 网站备案号:粤B2-20050322号
    客服热线:0755-26499456 0755-26499435 [共8线] 24小时值班:0755-21852765 [更多]
    客服QQ:
    [ 63103 ]
    [ 959260 ]
    代理咨询:
    [ 519065 ]
    [更多]
    客户服务中心:深圳市南山区桃园路前海金岸金丰阁706  邮编:518052
    本站推广词:动态空间 | 网站空间 | 虚拟主机 | 深圳网站建设 | 空间购买 | 域名空间 | ASP空间申请购买
    服务范围:广州·深圳·东莞·珠海·汕头·惠州·中山·佛山·上海·重庆等全国其它地区
    广东省深圳市稳速网络科技有限公司版权所有 严禁以任何形式进行复制、抄袭