PHP文件处理

发表时间
评论 没有

1 文件处理


文件处理包括读取、关闭、重写等。


1.1 打开/关闭文件


打开/关闭文件使用 fopen()函数和 fclose()函数。(千万小心,别误删了文件)
1.打开文件/关闭文件


resource fopen(string filename,string mode[,bool user_include_path]);

mode模式名称描述
r只读
r+读写
w只写(覆盖写入)
w+读写
a追加追加模式打开文件,如果该文件已有内容,则从文件末尾开始追加内容,如果该文件不存在,会创建文件

$fres=fopen(‘testFolder/test1.txt’,‘r’);//以指定模式打开文件
// 对文件进行操作
fclose($fres);//操作完成后关闭文件

1.2 读写文件


1.从文件中读取数据


  • fread()函数 按照字符串长度读取文件

$fres=fopen(‘testFolder/test1.txt’,‘r’);
$str=fread($fres,10);
echo $str;

  • fgets()函数 按行读取文件

// 打开文件资源
$fres=fopen(‘testFolder/test1.txt’,‘r’);
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
// echo fgets($fres).’<hr>’;
while($str=fgets($fres)){ echo $str;
}
fclose($fres);

  • file() 函数 不需要调用 fopen 函数

$a=file(‘./testFolder/test1.txt’);
// 数组 每行的内容是数组的元素
var_dump($a);

  • file_get_contents() 函数 不需要调用 fopen 函数

$a=file_get_contents(‘./testFolder/test1.txt’);
var_dump($a);

2.文件写入


  • fwrite();

$resource=fopen(‘./testFolder/test1.txt’,‘w’);
// 写入内容
$res=fwrite($resource,‘湖水库鱼cn饿了阿萨德解放军;啊’);
var_dump($res);
fclose($resource);

  • file_put_contents() 覆盖写入

// 最常见的 写入(覆盖写入)
$res=file_put_contents(‘./testFolder/test2.txt’,date(‘y-m-d H:i:s’));
echo $res;

1.3 操作文件


php 除了可以对文件进行读写之外,对文件本身同样也可以进行操作。比如说复制重命名,查看修改日期,等等都可以。


函数说明举例
php bool copy(string path1,string path2)将文件从 path1 复制到 path2,成功 true,失败 falsecopy(‘test.txt’,’./…/demo/new.txt’)
php bool rename(string filename1,string filename2)把 filename1 重命名为 filename2rename(’./1.txt’,’./2.txt’)
php bool unlink(string filename)删除文件,成功 true,失败 falseunlink(‘1.txt’)
php fileatime(string filename)返回文件最后一次被访问的时间fileatime(‘1.txt’)
php array pathinfo(string name[,int options])返回一个数组,包含文件 name 的路径信息,有 dirname,basename,extension,filename,设置要返回的信息,有 PATHINFO_DIRNAME,PATHINFO_BASENAME,PATHINFO_EXTENSION
php file_exists(string filename)判断文件是否存在
php is_file(string filename)判断文件是否存在

2.目录处理


2.1 打开/关闭目录


1.打开目录
使用 opendir()函数打开目录


resource opendir(string path);

2.关闭目录
使用 closedir()函数关闭目录


closedir(resource $res);

2.2 浏览目录


1.使用 scandir()函数


array scandir(string directory[,int string_order])

$path=‘./../../02核心技术’;
$res=scandir($path);
echo json_encode($res);

2.readdir() 函数


$resource=opendir(‘./’);
while($res=readdir($resource)){ echo $res.‘<br>’;
}

2.3 操作目录


函数说明举例
bool mkdir(string pathname)新建一个指定的目录mkdir(‘temp’);
bool rmdir(string pathname)删除所指定的目录,该目录必须是空的rmdir(‘temp’);
string getcwd()取得当前工作的目录
bool rename(oldpath,newpath)修改目录
fileatime(path)返回修改时间
filectime(path)返回创建时间
bool is_dir(path)判定path是否是目录
bool is_file(path)判定path是否是文件

2.4 修改目录权限


chmod($pathname,权限);


位数说明
第一个数字永远不变的 0
第二个数字当前用户的权限
第三个数字admin和当前的用户和用户组使用权限
第四个数字表示所有人的使用权限

权限分别使用3个值:


说明
1执行权限
2写入权限
4读取权限

3. 文件上传

要想去顺利地实现这个上传功能,我们要在php.ini这个文件里面去修改它的配置.


  • file_uploads: 如果值为true,说明服务器支持上传,如果为off,则不支持
  • upload_tmp_dir:上传文件临时目录,文件被成功上传之前,文件首先存放到临时目录中的。
  • upload_max_filesize: 服务器允许上传的文件的最大值,以MB为单位
  • max_execution_time:PHP中一个指令所能执行的最长时间,单位 秒
  • memory_limit: PHP中一个指令所分配的内存空间。MB

3.1 预定义变量$_FILES


$_FILES变量它存储的是上传文件的相关信息。对于我们去完成上传文件的这个功能提供一些参数信息。


属性名说明
$_FILES[filename][name]上传的文件的 文件名
$_FILES[filename][size]上传的文件的大小,单位是字节
$_FILES[filename][tmp_name]文件上传时,首先在临时目录中被保存成一个临时文件
$_FILES[filename][type]文件的类型
$_FILES[filename][error]上传文件的结果。如果值为0,上传成功

先在a.html 页面完成表单元素的创建,使用元素提供上传文件的入口。


3.2 文件上传函数


move_uploaded_file(string filename,string destinationnpath)函数上传文件存储到指定的位置。
创建upload.php 文件用来处理客户端上传过来的文件的信息,包括文件的存储。

作者
分类 网站建设

评论

本文评论功能已关闭。

← 较早的 较新的 →

相关文章