资讯专栏INFORMATION COLUMN

PHP - 文件处理

NickZhou / 2799人阅读

摘要:在读取了个字节数或到达文件末尾时,就会停止读取文件。语法如下把内容写入文件指针处。如果文件内容长度小于,则会无法写入。不能写入成功删除文件函数用于删除文件。使用时文件必须是关闭的。重命名成功移动文件成功

1、打开与关闭

对文件进行操作时,首先要打开文件,这是进行数据存储的第一步。在PHP中可以使用fopen()函数打开一个文件,函数语法为:

int fopen(string filename,string mode);

文件使用方式由r、w、a、t、b+ 六个字符拼成,各字符的含义是:

参数filename是要打开的包含路径的文件名,可以是相对路径或绝对路径;参数mode是打开文件的方式,如下表:

当我们对文件操作完成以后,要用fclose()函数对文件进行关闭,语法格式为:

fclose(resource handle);

参数handle为要关闭的文件。

2、读取部分文件

读取一个字符:fgetc()

在对某一个字符进行查找、替换时,就需要有针对性地对某个字符进行读取,在PHP中可以使用fgetc()函数实现此功能。格式如下:

string fgetc(resource handle);

fgetc()函数从文件指针中读取字符,返回一个字符的字符串。该字符从handle指向的文件中得到。


读取任意长度字符:fread()

函数fread()可以从文件中读取指定长度的数据,格式如下:

string fread(int handle,int length);

该函数从文件指针handle读取length个字节。在读取了length个字节数或到达文件末尾时,就会停止读取文件。

读取一行数据:fgets()fgetss()

在文件中要对数据进行逐行读取,可以使用fget()fgetss()函数。

fgets()函数用于一次读取一行数据。函数声明如下:

string fgets(int handle [,length]);

参数handle是被打开的文件,参数length是要读取的数据长度,函数能够实现从handle指向文件中读取一行返回长度最大值为length-1个字节的字符串,如果没有指定长度,默认为1KB

fgetss()函数是fets()函数的变体,用于读取一行数据,同时fgetss函数会过滤掉被读取内容中的htmlphp标记,而fgetss()函数需要指定长度。


3、读取整个文件

readfile()函数

readfile()函数用于读入一个文件,将其写入到输出缓冲,返回从文件中读入的字节数。如果出错返回False,使用它时只要一句话就可以,如下代码:

readfile("./a.txt");

file()

file()函数可以把文件读入到一个数组中,将文件作为一个数组来返回,数组中每个单元都是文件中相应的一行,包括换行符在内。失败将返回false。它的调用也很简单:

 $chr) {
    echo $i . "
";//0 } ?>
4、写入文件

PHP为我们提供fwrite()函数向文件中写入数据。语法如下:

int fwrite(resource handle,string string[,int length]);

把内容string写入文件指针handle处。如果指定了长度,当写入了length个字节,写入就会停止。如果文件内容长度小于length,则会无法写入。


5、删除文件

ulink()函数用于删除文件。使用时文件必须是关闭的。如果成功返回True,否则返回false。这个函数要慎用,一旦被删除就无法恢复。


6、复制文件

要实现文件的复制可以使用copy()函数。声明如下:

该函数将文件从file1复制到file2。成功返回true,否则返回false


7、移动和重命名文件

rename()函数不仅可以实现重命名,还可以实现文件的移动。函数声明如下:

bool rename(string oldname,string newname);

该函数把oldname重命名为newname,成功返回true,否则返回false。 想要实现文件的移动,只要给指定的文件移动到另外一个路径下的文件夹中,不改变该文件的名称,就实现了对指定文件的移动。

";
}
if (rename($new_name, "../$new_name")) {
    echo "移动文件成功";
}
?>

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23123.html

相关文章

  • PHP处理WEB请求的流程

    摘要:会依据协议,将请求的数据等信息发送给解析器,接下来解析器会解析文件,初始化执行环境,然后处理请求,再以规定的格式返回处理后的结果,退出进程。它的特点是会在动态分配处理进程给请求,以达到提高效率的目的,大多数实现都会维护一个进程池。 PHP作为世界上最好的编程语音,被广泛的运用到Web开发中。因为其语法和C类似,有着非常平缓的学习曲线,越来越多的人使用PHP进行Web产品的快速开发。PH...

    zhangrxiang 评论0 收藏0
  • Linux/Ubuntu16.04+Nginx+Mysql+PHP 搭建wordpress

    摘要:首先安装,,,堆栈第一步安装此时访问你的服务器地址应该会出现这个画面第二步安装以管理站点数据安装系统将要求您提供管理密码,以便在系统中使用。检查语法重启第步安装其他扩展在设置堆栈时,我们只需要一组非常小的扩展,以便让与通信。 首先安装Linux,Nginx,MySQL,PHP(LEMP堆栈) 第一步:安装Nginx sudo apt-get update sudo apt-get in...

    OnlyMyRailgun 评论0 收藏0
  • 从0开始构建一个属于你自己的PHP框架

    摘要:如何构建一个自己的框架为什么我们要去构建一个自己的框架可能绝大多数的人都会说市面上已经那么多的框架了,还造什么轮子。 showImg(https://segmentfault.com/img/bVNg9F?w=500&h=500); 如何构建一个自己的PHP框架 为什么我们要去构建一个自己的PHP框架?可能绝大多数的人都会说市面上已经那么多的框架了,还造什么轮子?。我的观点造轮子不是目...

    vpants 评论0 收藏0
  • FastCgi 与 PHP-fpm 之间的关系

    摘要:接下来解析器会解析文件,初始化执行环境,然后处理请求,再以规定规定的格式返回处理后的结果,退出进程。好了,是个协议,跟进程什么的没关系。的管理对象是。 原文分享自segmentfault @尹川的回答,搞不清FastCgi与PHP-fpm之间是个什么样的关系 若涉及侵权,请联系我删除 我在网上查fastcgi与php-fpm的关系,查了快一周了,基本看了个遍,真是众说纷纭,没一个权...

    WrBug 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<