ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2020-09-27 15:00:53  阅读:160  来源: 互联网

标签:文件 php 读取 删除 路径 写入 09PHP 基础知识 PHP


我们会点鼠标右键删除文件、会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,基础知识,PHP
来源: https://www.cnblogs.com/qi-zai/p/13739485.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有