PHP操作文件问答

原创 2007年10月16日 10:13:00
    问:如何新建一个文件?

答:
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修改为替换变量数据就可以了:)
 

四款国内常用问答系统源码:oASK,Tipask,百姓问,齐博知道

近日小编盘点了下站长之家收录的各款国内问答系统,也都下载试用了一番,今日便推荐以下四款较常用的问答系统:oASK问答系统、齐博知道系统、百姓问专业问答系统、Tipask问答系统,各款系统都各有特色,任...
  • zurich1979
  • zurich1979
  • 2014年08月09日 14:08
  • 2581

【文件/文件夹操作】php文件夹/文件目录操作函数

PHP中常见的文件夹操作以及文件操作函数
  • jiandanokok
  • jiandanokok
  • 2016年11月20日 13:07
  • 1368

PHP操作PDF文档输出

题目:把订单用PDF打印出详情,再根据相应的位置放置信息。 图的效果如下: //封装函数,传递三个参数(头部信息,订单详情数据,文件名) //PDF也是要下载PDF插件放到库目录下面的 publi...
  • u013703963
  • u013703963
  • 2016年10月16日 10:39
  • 2548

PHP常用的文件操作(二)详细版

以下是个人总结的PHP文件操作函数。当然,这只是部分,还有很多,我没有列出来。 一 、解析路径: 1 获得文件名: basename(); 给出一个包含有指向一个文件的全路径的字符串,本函数返...
  • liu857279611
  • liu857279611
  • 2016年02月09日 22:17
  • 388

php文件操作类

  • daditao
  • daditao
  • 2013年02月07日 23:06
  • 2238

用php操作二进制文件

二进制对于php来说是一个很偏的东西,因为php中对于二进制的支持是非常有限的,今天在一个php群组里讨论一个问题讨论了一下午也没讨论出结果来,现在总结一下,不知道我想的对不对,因为本来还觉得自己挺理...
  • jinyeweiyang
  • jinyeweiyang
  • 2014年10月25日 11:56
  • 489

php文件及文件夹操作(创建、删除、移动、复制)

  • wuchengzeng
  • wuchengzeng
  • 2014年06月09日 17:06
  • 2304

XMl入门介绍及php操作XML

XML全称:Extensible Markup Language 中文名:可扩展标记语言 用于标记电子文件使其具有结构性的标记语言,可以用来标记数据,定义数据类型,允许用户对自己的标记语言进行定义的源...
  • jinxingfeng_cn
  • jinxingfeng_cn
  • 2016年05月17日 14:09
  • 2137

PHP 日志记录功能实现

此文作者的日志是单一日志,加数学序号扩展。 我现在用的是日期日志,应用功能环境不一样,实现的东西有些不同。 对于现在的应用程序来说,日志的重要性是不言而喻的。很难想象没有任何日...
  • wide288
  • wide288
  • 2014年02月12日 10:21
  • 12170

智能问答系统实践——答案选择

问题描述 这个问题来自于SemEval-2015Task3: Answer Selection in Community Question Answering. 简单的说就是从一堆问题和答案中找出他们...
  • Index_gz
  • Index_gz
  • 2017年04月07日 11:01
  • 1221
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP操作文件问答
举报原因:
原因补充:

(最多只允许输入30个字)