网站开发涉及到的技术内容介绍——后端PHP(2)
一、PHP的常用函数
1.1、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文件的常用函数
序号 | 文件操作方法 | 说明 |
1 | fopen(文件路径和名称,模式) | 以指定模式打开文件,且返回对应的文件资源 |
2 | fwrite(打开的文件资源,需写入数据) | 将数据写入到文件中,且返回写入的数据长度 |
3 | fread(打开的文件资源,需读取的数据长度) | 读取指定长度的文件内容 |
4 | fgets(打开的文件资源) | 调用一次该方法读取文件的一行内容 |
5 | readfile(文件路径和名称) | 读取文件并自动打印展示 |
6 | file_put_contents(文件路径和名称,需保存数据) | 将内容保存到文件中(覆盖写入,先清空文件在写入),如果文件不存在则创建该文件;返回结果是保存内容的长度 |
7 | file_get_contents(本地文件路径和名称或者远程的URL地址) | 将整个文件的内容读取到一个字符串中 |
序号 | 模式内容 | 说明 |
1 | w | 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建 |
2 | w+ | 读写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建 |
3 | r | 只读方式打开,将文件指针指向文件头 |
4 | r+ | 读写方式打开,将文件指针指向文件头 |
5 | a | 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建 【追加文件内容】 |
6 | a+ | 读写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建 |
7 | x | 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则文件打开 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建 |
8 | x+ | 创建并以读写入方式打开,将文件指针指向文件头。如果文件已存在,则文件打开 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建 |
前面我们将内容写入到文件保存到磁盘的都是永久文件;而创建临时文件对我们开发也有用处(即:建临时文件,用完后会自动删除,我们不需要去维护这个文件的删除状态)。 |
序号 | 文件的操作 | 说明 |
上一篇: 如何选择适合的Jav
下一篇: 网站开发涉及到的技术