PHP关于文件操作

打开文件

fopen(string filename,string mode);//返回一个资源对象,存储当前文件资源

解释

 filename:文件的文件名及其所在路径,

mode:文件的打开模式,mode的值可以如下表所示。

 

 

model的值 说明
r 只读方式打开,将文件指针指向文件头
r+ 读写方式打开,将文件指针指向文件头
w 写入方式打开,如果文件存在会将文件清空,如果文件不存在则创建
w+ 读写方式,如果文件存在会将文件清空,如果文件不存在则创建
a 写入方式打开,如果文件存在则追加,如果文件不存在则创建
a+ 读写方式打开,如果文件存在则追加,如果文件不存在则创建
x 写入方式打开,如果文件存在则打开失败,如果文件不存在则创建
x+ 读写方式打开,如果文件存在则打开失败,如果文件不存在则创建

关闭文件

void fclose(file_resource);

解释

file_resource:指使用fopen()函数打开文件时返回的资源对象。

例子 关闭文件操作

读取文件

1.读取文件中的一个字符

string fgetc($file_resource);//读取文件中的一个字符,返回文件中的一个字符并将指针移动到下一个字符

解释

file_resource:指使用fopen()函数打开文件时返回的资源对象。

例子 使用fgetc()函数读取文件

2.读取文件中的一行(实际应用中最常使用)

string fgets($file_resource);//读取文件中的一行,返回文件中的一行并将指针移动到下一行

解释

file_resource:指使用fopen()函数打开文件时返回的资源对象。

例子 使用fgets()函数读取文件

3.读取文件中的任意长字符

string fread($file_resource,int length);//读取文件中的任意长字符,返回文件中的一行并将指针移动到下一行

解释

file_resource:指使用fopen()函数打开文件时返回的资源对象。length:要读取的字符长度,如果length长度超过文件的长度,文件的全部内容将被返回

例子 使用fread()函数读取文件

<?php

    $file = fopen("test\\file.txt",'r');//以只读的方式打开test文件夹下的file.txt文件

echo fread($file,20);//输出文件中的前20个字符

    fclose($file);//关闭文件?>

应用

·          

fread()函数通常结合filesize()函数来获取文件的全部内容。

·          

int filesize(string filename);//读取文件大小的字节数

·          

filename:文件名及其所在路径

·          

·          

例子:返回文件的所有内容

·          

<?php

   $filename = "test\\file.txt";//文件名

   $file = fopen($filename,'r');//以只读的方式打开test文件夹下的file.txt文件

   filesize = filesize($file);//获取文件内容的字符长度

echo fread($file,filesize);//输出文件中的全部内容

   fclose($file);//关闭文件?>

·          

写入文件

int fwrite(file_resource,string str,[,int length]);

解释

file_resource:指使用fopen()函数打开文件时返回的资源对象。str:要写入文件的字符串length:可选参数,指定length则只将str的前length长度写入文件

例子 使用fwrite()函数写入文件

删除文件

bool unlink(string filename);//删除文件

解释

filename:文件名及其所在路径。

例子 使用unlink()函数删除文件

复制文件

bool copy(string filename1,string filename2);//复制文件,将filename1文件复制到filename2

解释

filename1:源文件的文件名及其所在路径。filename1:目标文件的文件名及其所在路径。

例子 使用copy()函数复制文件

文件的上传

bool move_upload_file(string filename1,string filename2);

解释

filename1:客户端源文件的文件名及其所在路径。filename1:服务器上目标文件的文件名及其所在路径。

例子 文件的上传

·          

拓展 PHP中的全局变量$_FILES,它是一个二维的全局变量数组。数组中每一行由5个元素组成

·          

1.$_FILES[]['name']:客户端源文件名 

2.$_FILES[]['size']:上传文件的字节数

3.$_FILES[]['type']:上传文件的类型

4.$_FILES[]['tmp_name']:上传文件后在服务器上的临时存储文件名

5.$_FILES[]['error']:上传文件的错误代码,如果为0表示没有错误发生

·          

文件的下载

例子 文件的下载,对downloads文件中的文件进行浏览和下载的功能

<?php

$res = 'downloads/';

if(!isset($_GET['file'])){//如果参数中没有指定文件名,则读取文件列表

$dir_res = opendir($dir);//打开downloads文件夹

        echo “<h1>文件下载</h1>”;

while($filen = readdir($dir_res)){//读取输出文件名

if($filen != "." and $filen != ".." ){//过滤当前目录和上一级目录不显示

                echo "<a href='?file=".$filen."'>".$filen."</a><br>";

            }

            closedir($dir_res);

        }

    }else{//存在文件

$file_name = $dir.$_GET['file'];//获取当前文件名

if($fh = fopen($file_name,'r')){//打开文件

$fsize = filesize[$file_name];//获得文件大小

$path_parts = pathinfo($file_name);//获取文件路径信息

            header(“Content-type:application/octet-stream”);//定义文件类型

            header(“Content-Disposition:filename=\"".$path_parts['basename']."\"”);//定义文件名

            header(“Content-length:”.$fsize);//定义文件大小

while(!feof($fh)){//读取文件并输出

$buffer = fread($fh,2048);

                echo $buffer;

            }

        }

    }

  ?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值