首页 > 编程语言 > 详细

PHP语言基础知识09PHP文件系统管理

时间:2020-09-27 16:08:34      阅读:29      评论:0      收藏:0      [点我收藏+]

我们会点鼠标右键删除文件、会control+c(或右键)复制、粘贴文件,会新建一些文件,检测这个文件是不是只读文件。在电脑里面进行的这些操作,在代码里面如果能操作就好了。因为,如果有了这些操作。我们能做很多事情了:可不可以写入修改配置文件、是不是可以做PHP安装的时候检测文件的权限、是不是可以做生成Html文件等等很多不同的操作,总之其他太多太多的地方用到了文件操作.

  1.fopen、fread、fclose操作读取文件

  • readfile读取文件函数:

  如何读取一个文件?我们先学一个函数

int readfile(string$文件名)
// 功能:传入一个文件路径,输出一个文件.
// 下面的这一段代码中,只要传入文件名或者指定的文件路径就可以把文件读取出来了.

<?php


   //linux类的读了方式


   readfile("/home/paul/test.txt");


   //windows类的读取方式


   readfile("c:\\oldboy\oldboy\boot.ini");


?>


注意:上面的代码中windows的斜线是\斜线,可能会转义掉一些字符。因此,我们写的时候写上两个斜线。

  • file_get_contents打开文件函数
<?php
$filename=‘NoAlike.txt‘;
$filestring=file_get_contents($filename);
echo$filestring; ?>
  • fopen、fread、fclose操作读取文件

上面file_get_contents打开文件的方式简单,粗暴.

resource fopen          (string $文件名,string模式)
string  fread           (resource $操作资源,int读取长度)
bool fclose              (resource $操作资源)

fopen的模式有下面几个:

技术分享图片

<?php
//你可以创建一个NoAlike.txt,以只读模式打开
$fp=fopen(‘NoAlike.txt‘,"r");
//var_dump()操作一下$fp看看效果,输出的是不是只有类型提示的是resource
var_duom($fp);
?>

2.php创建和修改文件内容

  • file_put_contents写入文件
  • 先来学习第一种写入文件的方式:
file_put_contents(string$文件路径,string$写入数据)
功能:向指定的文件当中给写入一个字符串,如果文件不存在则创建文件.返回的是写入的字节的长度

//操作代码严氏势力:
<?php
$data="学好PHP,妹子票子统统都有!";
$numbytes=file_put_contents(‘test.txt‘$data);
if($numbytes){
echo‘写入成功,我们读取一下:‘;
echofile_get_contents(‘test/txt‘);
}else{
echo‘写入失败或没有权限,请检查查‘;
}
?>

//fwrite配合fopen进行写入操作
<?php
$filename=‘test.txt‘;
$fp=fopen($filename,"w");
$len=fwrite($fp,‘北方的冷是物理攻击,南方的冷是魔法攻击‘);
fclose($fp);
print $len.‘字节被写入了\n‘;
?>

//代码说明:
不论有没有新建都会打开文件重新写入,原有的文件内容会被覆盖掉,文件不存在会创建

对比一下几个模式的不同:

技术分享图片

3.php创建临时文件

  我们之前创建的文件都是永久文件,而创建临时文件在我们平时的项目开发中也非常有用,创建临时文件的好处:文件操作完成后就删除,不需要维护这个文件的删除状态.

<?php
//创建也给临时文件
$handle=tmpfile();
//想里面写入了数据
$numbytes=fwreit(handle,‘写入临时文件‘);
//关闭临时文件,文件即被删除
fclose($handle);
echo‘向临时文件中写入了‘.$numbytes.‘个字节‘;
?>

4.php移动、拷贝和删除文件

  我们在日常处理文件的时候,可以删除文件,重命名文件,也可以复制文件.

重命名文件:

 :  rename($旧名,$新名);

功能:这个函数返回一个bool值,将旧的名字改为新的名字.

<?php
//旧文件名
$filename=‘test.txt‘;
//新文件名
$filename2=$filename.‘.old‘;
//复制文件
rename($filename2);
?>

删除文件

删除文件就是将指定路径的一个文件删除,不过这个删除是直接删除,使用的是windows电脑,你在回收站看不到这个文件,你只会发现这个文件小时了

 :unlink(指定路径的文件)

示例:

<?php
$filename=‘test.txt‘;
if(unlink($filename)){
echo"删除文件成功,$filename!\n";
}else{
echo"删除文件 $filename失败!\n";
?>

检测文件属性函数

假设安装界面的网址是install.php 安装的文件是install.lock 我们就可以检测install.lock文件是否存在.

<?php
if(file_exists(‘install.lock‘)){
echo‘已安装,请不要再次进行安装‘;
exit;
}
?>

常用文件属性函数:

技术分享图片

php目录处理函数

php目录处理函数处理文件夹的基本思想如下:

  • 读取某个路径的时候判断是否是文件夹
  • 是文件夹的花,打开指定文件夹,返回文件目录的资源变量
  • 使用readdir读取一次目录中的文件,目录指针向后偏移一次
  • 使用readdir读取到最后,没有可读的文件返回false
  • 关闭文件目录

常用的函数:

技术分享图片

代码演示操作:

<?php
//设置打开的目录是D盘

$dir="d:/";

//判断是否是文件夹,是文件夹

if(is_dir($dir)){

if($dh=opendir($dir)){

//读取到最后返回false,则停止循环

while(($file=readdir($dh))!==false){

             echo"文件名为:$file:文件类型是".filetype($dir.$file)."<br />";
       }
       closedir($dh);
    }
}
?>

php文件权限设置

chmod主要是修改文件的权限

<?php

//修改linux系统/var/wwwroot/某文件权限为755

chmod("/var/wwwroot/index.html",755);

chmod("/var/wwwroot/index.html‘,‘u+rwx,go+rx");

chmod("/somedir/somefile",0755);
?>

php文件路径函数

我们经常会遇到处理文件路径的情况,例如:

  • 文件后缀需要取出来
  • 路径需要取出名字不取目录
  • 只需要去除路径名中的目录路径
  • 或者把网址中的各个部分进行解析取得独立值
  • 甚至是自己组成一个url出来

很多地方都需要用路径处理类的函数,把常用的路径处理函数为大家做了标注,对着这个路径处理函数进行处理即可:

技术分享图片

代码示例:

<?php
$path_parts=pathinfo(‘d:www/index.inc.php‘);

ceho‘文件目录名:‘.$path_parts[‘dirname‘]."<br />";

echo‘文件全名:‘.$path_parts[‘basename‘]."<br />";

echo‘文件扩展名: ‘.$path_parts[‘extension‘]."<br />";

echo‘不包括扩展的文件名:‘.$path_parts[‘filename‘]."<br />"
?>

 

PHP语言基础知识09PHP文件系统管理

原文:https://www.cnblogs.com/qi-zai/p/13739485.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!