网站开发涉及到的技术内容介绍——后端PHP(1)https://blog.csdn.net/xiaochenXIHUA/article/details/141000752?spm=1001.2014.3001.5501
一、PHP的常用函数
1.1、PHP文件夹的常用函数
PHP的目录常用函数
序号 |
目录常用函数 |
说明 |
1 |
$_SERVER['DOCUMENT_ROOT'] |
获取到PHP项目的根目录 |
2 |
dirname(__FILE__) |
获取到当前php文件所在的目录 |
3 |
is_dir(文件路径或文件路径和名称) |
判断当前内容是否为文件夹目录 |
4 |
scandir(目录路径) |
列出当前指定目录下的文件和目录 |
5 |
filetype(文件路径或文件路径和名称) |
返回文件的数据类型,文件返回[file],目录返回[dir] |
6 |
opendir(文件路径) |
打开文件夹,返回该文件夹资源 |
7 |
readdir(目录资源) |
每次只读取指定目录资源下的一个内容 |
8 |
closedir(目录资源) |
关闭已经打开的目录资源 |
实现一个简易的目录内容浏览功能,如下所示:
1、新建一个名为【commonfunc.php】的文件,内容如下:
<html>
<head>
<meta charset="UTF-8">
<title>测试PHP常用的函数</title>
</head>
<body>
<?php
//指定PHP页面的内容类型和编码格式
header("Content-Type:text/html; charset=utf-8");
//获取到根目录
$rootPath=$_SERVER['DOCUMENT_ROOT'];
echo "项目根目录为【$rootPath 】 <br>";
//目录操作
$curfilepathname=__FILE__;
echo "当前程序所在的路径和名称为:$curfilepathname <br>";
//判断当前内容是否为路径
echo "【$curfilepathname 】是否为路径: ".is_dir($curfilepathname)."<br><br>";
$curfilepath=dirname(__FILE__);
echo "当前程序所在的路径为:$curfilepath <br>";
//判断当前内容是否为路径
echo "【$curfilepath 】是否为路径: ".is_dir($curfilepath)."<br><br>";
$curdirallfiles=scandir($curfilepath);
echo "当前程序所在目录【$curfilepath 】下的所有文件为:<br>";
showdir($curdirallfiles,$curfilepath);
echo "<br><br>";
//指定的目录
$testPath='E:\AllSoftware\phpStudy\PHPTutorial\WWW\php\test';
if (is_dir($testPath)){
echo "[$testPath] 目录下的内容为:<br>";
//打开指定的目录
if($curOpenDir=opendir($testPath)) {
//readdir方法每次只读取一个内容
while (($file=readdir($curOpenDir))!==false) {
//获取到完整的文件路径和文件名称
$fullPathFile=$testPath."\\".$file;
//获取到文件的类型
$fileType=filetype($fullPathFile);
if($fileType== "file"){
echo "文件类型是[$fileType],[$file]是文件,文件完整路径和名称是[$fullPathFile]<br>";
}
else{
echo "文件类型是[$fileType],[$file]是目录,文件完整路径和名称是[$fullPathFile]<br>";
}
}
//关闭指定的目录
closedir($curOpenDir);
}
}
echo "<br><br>";
function showdir(array $curdirallfiles,$curpath)
{
foreach($curdirallfiles as $key => $value){
//过滤.和..作为返回上一级的操作
if ($value=='.'||$value=='..'){
echo "<a href='./showdirfiles.php?fullpathname=$curpath'>$value</a> <br>";
continue;
}
$value=iconv('gbk','utf-8',$value);
$fullPath=$curpath."\\".$value;
if(is_dir($fullPath)){
$fullpath2=$fullPath.'\\'.$value;
//显示目录图标和目录名称(且目录可以点击查看其包含的文件和文件夹内容)
echo "<img src='../images/目录.png' width='20px' height='20px'/> <a href='./showdirfiles.php?fullpathname=$fullpath2'> $value</a> <br>";
}
else{
//显示文件图标和文件名称
echo "<img src='../images/文件.png' width='20px' height='20px'/> $value <br>";
}
}
}
?>
</body>
</html>
2、再新建一个名为【showdirfiles.php】的文件,且内容如下:
<?php
header("Content-Type:text/html;charset=UTF-8");
$fullpathname =$_GET['fullpathname'];
$curpath=dirname($fullpathname);
$curdirallfiles=scandir($curpath);
showdir($curdirallfiles,$curpath);
function showdir(array $curDirAllFiles,$curPath)
{
foreach($curDirAllFiles as $key => $value){
//过滤.和..作为返回上一级的操作
if ($value=='.'||$value=='..'){
echo "<a href='./showdirfiles.php?fullpathname=$curPath'>$value</a> <br>";
continue;
}
$value=iconv('gbk','utf-8',$value);
$fullPath=$curPath."/".$value;
// $value=iconv('gbk','utf-8',$value);
if(is_dir($fullPath)){
$fullpath2=$fullPath.'/'.$value;
//显示目录图标和目录名称(且目录可以点击查看其包含的文件和文件夹内容)
echo "<img src='../images/目录.png' width='20px' height='20px'/> <a href='./showdirfiles.php?fullpathname=$fullpath2'> $value</a> <br>";
}
else{
//显示文件图标和文件名称(且可以对文件进行删除、移动、复制操作)
echo "<img src='../images/文件.png' width='20px' height='20px'/> $value <br>";
}
}
}
?>
1.2、PHP文件的常用函数
PHP文件的操作
序号 |
文件操作方法 |
说明 |
1 |
fopen(文件路径和名称,模式) |
以指定模式打开文件,且返回对应的文件资源 |
2 |
fwrite(打开的文件资源,需写入数据) |
将数据写入到文件中,且返回写入的数据长度 |
3 |
fread(打开的文件资源,需读取的数据长度) |
读取指定长度的文件内容 |
4 |
fgets(打开的文件资源) |
调用一次该方法读取文件的一行内容 |
5 |
readfile(文件路径和名称) |
读取文件并自动打印展示 |
6 |
file_put_contents(文件路径和名称,需保存数据) |
将内容保存到文件中(覆盖写入,先清空文件在写入),如果文件不存在则创建该文件;返回结果是保存内容的长度 |
7 |
file_get_contents(本地文件路径和名称或者远程的URL地址) |
将整个文件的内容读取到一个字符串中 |
文件打开(fopen)模式说明
序号 |
模式内容 |
说明 |
1 |
w |
写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建 |
2 |
w+ |
读写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建 |
3 |
r |
只读方式打开,将文件指针指向文件头 |
4 |
r+ |
读写方式打开,将文件指针指向文件头 |
5 |
a |
写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建 【追加文件内容】 |
6 |
a+ |
读写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建 |
7 |
x |
创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则文件打开 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建 |
8 |
x+ |
创建并以读写入方式打开,将文件指针指向文件头。如果文件已存在,则文件打开 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建 |
PHP的临时文件
前面我们将内容写入到文件保存到磁盘的都是永久文件;而创建临时文件对我们开发也有用处(即:建临时文件,用完后会自动删除,我们不需要去维护这个文件的删除状态)。 <?php
header("Content-Type:text/html;charset=UTF-8");
//临时文件(windows系统的临时文件存储在【C:\Users\用户名\AppData\Local\Temp目录中】带有php内容的就是)
//1、创建一个临时文件
$tmpfile=tmpfile();
//2、向临时文件写入内容
$writeInfoToTmpfile=fwrite($tmpfile,"测试写入临时文件的信息1");
echo "临时文件写入内容1结果:$writeInfoToTmpfile <br>";
$writeInfoToTmpfile2=fwrite($tmpfile,"第二次写入测试临时文件信息2");
echo "临时文件写入内容2结果:$writeInfoToTmpfile2 <br>";
// //休眠15秒,方便我们去【C:\Users\用户名\AppData\Local\Temp目录中】查看文件内容
// sleep(15);
// //读取临时文件方式一
// fseek($tmpfile,0);
// rewind($tmpfile);
// //指定读取1K的文件内容
// $readTmpfileInfo=fread($tmpfile,1024);
// //关闭临时文件(文件一关闭就会被删除)
// fclose($tmpfile);
//读取临时文件方式二
$tmpfile_path = stream_get_meta_data($tmpfile)['uri'];
$readTmpfileInfo=file_get_contents($tmpfile_path);
echo "读取到的临时文件信息为: $readTmpfileInfo <br>";
?> |
PHP文件的重命名、移动、复制和删除
序号 |
文件的操作 |
说明 |