怎样写文本文件 找本PHP书,有很多用来写文本文件的涵数。比如:fopen(),fread(),fwrite(),fclose()///用来打开、读取、写入、关闭\\文本文件。... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://expert.csdn.net/Expert/topic/2210/2210184.xml?temp=.7260706关于PHP操作文件的一些FAQ总结[author:sports98]前言: 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,"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 中文手册最新版(04.1.1)http://cn2.php.net/get/php_manual_zh.chm/from/cn.php.net/mirror php manual :basename: 返回不含路径的文件字符串。 chgrp: 改变文件所属的群组。 chmod: 改变文件的属性。 chown: 改变文件的拥有者。 clearstatcache: 清除文件状态快取。 copy: 复制文件。 delete: 无用的项目。 dirname: 取得路径中的目录名。 diskfreespace: 取得目录所在的剩余可用空间。 fclose: 关闭已打开的文件。 feof: 测试文件指针是否指到档尾。 fgetc: 取得文件指针所指的字符。 fgetcsv: 取得文件指针所指行,并解析 CSV 字段。 fgets: 取得文件指针所指的行。 fgetss: 取得文件指针所指的行,并去掉 HTML 语言标记。 file: 将文件全部读入数组变量中。 file_exists: 检查文件是否存在。 fileatime: 取得文件最后的存取时间。 filectime: 取得文件最后的改变时间。 filegroup: 取得文件所属的群组。 fileinode: 取得文件的 inode 值。 filemtime: 取得文件最后的修改时间。 fileowner: 取得文件的拥有者。 fileperms: 取得文件的权限配置。 filesize: 获得文件的大小。 filetype: 获得文件的类型。 flock: 锁住文件。 fopen: 打开文件或者 URL。 fpassthru: 输出所有剩余资料。 fputs: 写到文件指针。 fread: 位组的方式读取文件。 fseek: 移动文件指针。 ftell: 取得文件读写指针位置。 fwrite: 二进位位方式写入文件。 set_file_buffer: 配置文件缓冲区大小。 is_dir: 测试文件是否为目录。 is_executable: 测试文件是否为可执行档。 is_file: 测试文件是否为正常文件。 is_link: 测试文件是否为链接档。 is_readable: 测试文件是否可读取。 is_writeable: 测试文件是否可写入。 link: 建立硬式链接。 linkinfo: 取得链接信息。 mkdir: 建立目录。 pclose: 关闭文件。 popen: 打开文件。 readfile: 输出文件。 readlink: 返回符号链接 (symbolic link) 目标档。 rename: 更改档名。 rewind: 重置开档的读写位置指针。 rmdir: 删除目录。 stat: 取得文件相关信息。 lstat: 取得链接档相关信息。 symlink: 建立符号链接 (symbolic link)。 tempnam: 建立只一的临时档。 touch: 配置最后修改时间。 umask: 改变目前的文件属性遮罩 umask。 unlink: 删除文件。 ex: $file = fopen("ex.txt","w+"); $data = "test"; fputs($file , $data); fclose($file); php 发送手机短信,在防火墙需要开放那个端口 phpmyadmin无法显示中文 各位,新春快乐! 用phpmyadmin如何备份和恢复数据库 【分享】PHP桌面应用程序---即时通讯软件 这是什么问题造成的?真是奇怪了!!!! PHP:请问怎样将字符串转换为数字,比如将“1000”转换为1000. 点击超链接后的内容,在mysql4.0环境中可以显示,但到mysql4.1环境无法显示,望指教..... 如何让数据呈两列显示? SEO php4+apache+mysql在2000下配置运行出现的问题,急等解决 HELP!!!老问题~~还是关于登入的
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,"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 中文手册最新版(04.1.1)
http://cn2.php.net/get/php_manual_zh.chm/from/cn.php.net/mirror
basename: 返回不含路径的文件字符串。
chgrp: 改变文件所属的群组。
chmod: 改变文件的属性。
chown: 改变文件的拥有者。
clearstatcache: 清除文件状态快取。
copy: 复制文件。
delete: 无用的项目。
dirname: 取得路径中的目录名。
diskfreespace: 取得目录所在的剩余可用空间。
fclose: 关闭已打开的文件。
feof: 测试文件指针是否指到档尾。
fgetc: 取得文件指针所指的字符。
fgetcsv: 取得文件指针所指行,并解析 CSV 字段。
fgets: 取得文件指针所指的行。
fgetss: 取得文件指针所指的行,并去掉 HTML 语言标记。
file: 将文件全部读入数组变量中。
file_exists: 检查文件是否存在。
fileatime: 取得文件最后的存取时间。
filectime: 取得文件最后的改变时间。
filegroup: 取得文件所属的群组。
fileinode: 取得文件的 inode 值。
filemtime: 取得文件最后的修改时间。
fileowner: 取得文件的拥有者。
fileperms: 取得文件的权限配置。
filesize: 获得文件的大小。
filetype: 获得文件的类型。
flock: 锁住文件。
fopen: 打开文件或者 URL。
fpassthru: 输出所有剩余资料。
fputs: 写到文件指针。
fread: 位组的方式读取文件。
fseek: 移动文件指针。
ftell: 取得文件读写指针位置。
fwrite: 二进位位方式写入文件。
set_file_buffer: 配置文件缓冲区大小。
is_dir: 测试文件是否为目录。
is_executable: 测试文件是否为可执行档。
is_file: 测试文件是否为正常文件。
is_link: 测试文件是否为链接档。
is_readable: 测试文件是否可读取。
is_writeable: 测试文件是否可写入。
link: 建立硬式链接。
linkinfo: 取得链接信息。
mkdir: 建立目录。
pclose: 关闭文件。
popen: 打开文件。
readfile: 输出文件。
readlink: 返回符号链接 (symbolic link) 目标档。
rename: 更改档名。
rewind: 重置开档的读写位置指针。
rmdir: 删除目录。
stat: 取得文件相关信息。
lstat: 取得链接档相关信息。
symlink: 建立符号链接 (symbolic link)。
tempnam: 建立只一的临时档。
touch: 配置最后修改时间。
umask: 改变目前的文件属性遮罩 umask。
unlink: 删除文件。
$file = fopen("ex.txt","w+");
$data = "test";
fputs($file , $data);
fclose($file);