`
音频数据
  • 浏览: 36775 次
文章分类
社区版块
存档分类
最新评论

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  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常用函数和常见疑难问题解答

    2. 常见疑难问题解答: - 在处理字符串时,确保正确使用单引号和双引号。单引号内的变量不会被解析,而双引号会。 - 注意PHP的变量作用域,尤其是在函数内部使用外部变量时,可能需要使用`global`关键字。 - 错误...

    常见疑难解答

    本文将针对Java学习中的一些常见问题进行解答,并结合提供的压缩包文件内容,详细讲解"接口"、"CGI"和"merge_into"的概念及用法。 首先,我们来看“接口”(Interface)这一概念。在Java中,接口是一种完全抽象的...

    NETBeans快捷键以及常见疑难问题解答

    2. **常见疑难问题及解答**: - **代码提示不显示**:检查是否禁用了自动完成,可以在`Tools > Options > Editor > Code Completion`中调整设置。 - **项目无法启动**:确保JDK已正确安装并配置,检查`Project ...

    软件设计师试题疑难解答

    - 支持web控件和第三方控件,适用于中大规模网站开发。 2. **PHP(Hypertext Preprocessor)**: - 适用于中小型企业级应用,尤其在Linux或Unix平台上表现出色。 - 最佳搭档数据库为MySQL,也可通过ODBC连接其他...

    PHP手册中文版

    8. **FAQ**:常见问题解答部分,汇集了用户在学习和使用PHP过程中可能遇到的问题及其解决方案,是快速解决疑难问题的好帮手。 9. **附录**:包含一些实用的补充信息,如字符集、常量列表、预定义变量、魔术常量等。...

    fastDFS 介绍文档,源代码,使用样例,JAR包

    压缩包中的"分布式文件系统fastDFS使用"可能包含更具体的使用教程、配置示例或者疑难解答,帮助用户在实际环境中部署和操作FastDFS。 总的来说,FastDFS提供了一种高效、可靠的文件存储解决方案,尤其适合大规模...

    Myeclipse10汉化补丁

    8. **社区资源**:对于汉化过程中的疑难问题,开发者可以借助于在线论坛、问答社区(如Stack Overflow)或者专门的MyEclipse用户群组,获取其他用户的经验和解决方案。 通过以上步骤,用户可以成功将MyEclipse 10的...

    CodeIgniter 用户指南 版本 2.1.4

    - **疑难解答**:提供了解决常见问题的方法和技巧。 - **设计和架构目标**:阐述了 CodeIgniter 的设计原则和架构决策。 - **教程内容提要**:概述了一系列教程,帮助开发者逐步掌握框架的使用方法。 - **控制...

    乘风多用户PHP统计系统 v4.4

    上面有程序在线演示,安装演示,使用疑难解答,最新版本下载等内容 安装说明: 1.空间需要支持PHP和Mysql数据库 2.安装系统请在线执行install.php安装文件,此方法安装后会生成install.lock文件 此文件是用于判断程序...

    smarty 3 中文手册

    - **疑难解答**: 常见问题及其解决方案。 - **使用技巧和经验**: 提供一些实用的使用技巧和最佳实践。 - **相关资源**: 推荐的学习资源、社区链接等。 - **漏洞**: 已知的安全漏洞及解决办法。 - **3.0 安装包**: ...

    Zencart中文使用手册

    Zencart中文使用手册将涵盖以上所有内容,帮助新手快速上手,并为有经验的用户解答疑难问题,实现高效、稳定的网店运营。通过深入学习和实践,用户可以充分利用Zencart的各项功能,打造专业且吸引人的在线商店。

    Windows 7 安装IIS工具及方法

    建议下载并查阅这份文件,以获取更具体的操作指导和可能的疑难解答。 总的来说,安装和配置IIS是一项相对简单但至关重要的任务,尤其对于那些需要在本地进行Web开发和测试的用户。遵循上述步骤,结合提供的压缩包...

    JSP 程序设计从入门到精通 PDF 教程

    - 这部分提供了一些关于Servlets/JSP开发的常见问题解答。 ##### 4.9 Servlet小实例 - **4.5.1 实例1(输出)**:这部分提供了一个简单的Servlet示例,用于演示如何输出文本到客户端。 - **4.5.2 实例2(获取表单...

    水木清华站∶Java版精华区 含jsp及js等集合.chm

    [目录]Java疑难解答 1. [目录]Java原理问题 1. [目录]Java中是指针还是引用? 2. [目录]关于getMethod方法 3. [目录]怎样建立Package 4. [目录]关于classloader 2. [目录]Java汉字...

    柚子门店会员卡小程序V1.7.4安装更新一体包+小程序前端+全部插件.txt

    - 设立专门客服团队,解决使用过程中遇到的各种疑难杂症。 2. **常见问题解答**: - Q: 如何获取解压密码? A: 若下载链接失效或无法正常解压,请及时联系博主获取相关信息。 - Q: 程序兼容哪些设备? A: ...

    网页设计与制作的基础教案

    在教学过程中,通常采用教授法与互动交流相结合,通过实例分析、代码编写和疑难解答来强化学习效果。学生会进行自主练习,教师则提供个别辅导,以确保他们能理解和掌握所学知识。 总的来说,网页设计与制作是一门...

Global site tag (gtag.js) - Google Analytics