我们会点鼠标右键删除文件、会control+c(或右键)复制、粘贴文件,会新建一些文件,检测这个文件是不是只读文件。在电脑里面进行的这些操作,在代码里面如果能操作就好了。因为,如果有了这些操作。我们能做很多事情了:可不可以写入修改配置文件、是不是可以做PHP安装的时候检测文件的权限、是不是可以做生成Html文件等等很多不同的操作,总之其他太多太多的地方用到了文件操作.
1.fopen、fread、fclose操作读取文件
如何读取一个文件?我们先学一个函数
int readfile(string$文件名)
// 功能:传入一个文件路径,输出一个文件.
// 下面的这一段代码中,只要传入文件名或者指定的文件路径就可以把文件读取出来了.
<?php
//linux类的读了方式
readfile("/home/paul/test.txt");
//windows类的读取方式
readfile("c:\\oldboy\oldboy\boot.ini");
?>
注意:上面的代码中windows的斜线是\斜线,可能会转义掉一些字符。因此,我们写的时候写上两个斜线。
<?php
$filename=‘NoAlike.txt‘;
$filestring=file_get_contents($filename);
echo$filestring;
?>
上面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(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目录处理函数处理文件夹的基本思想如下:
常用的函数:
代码演示操作:
<?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文件路径函数
我们经常会遇到处理文件路径的情况,例如:
很多地方都需要用路径处理类的函数,把常用的路径处理函数为大家做了标注,对着这个路径处理函数进行处理即可:
代码示例:
<?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 />"
?>
原文:https://www.cnblogs.com/qi-zai/p/13739485.html