> 백엔드 개발 > PHP 튜토리얼 > PHP 파일 관리 및 기본 기능 구현

PHP 파일 관리 및 기본 기능 구현

迷茫
풀어 주다: 2023-03-06 22:16:01
원래의
1588명이 탐색했습니다.

파일의 기본 동작

먼저 PHP 파일의 기본 동작을 살펴보겠습니다. 강력한 댓글을 확인해주세요

<body>
로그인 후 복사
<?php
var_dump(filetype("./img/11.png"));
//判断返回得是文件还是目录,返回sile为文件,dir为目录(文件夹)

var_dump(is_dir("./img/11.png"));
//判断给的文件是不是一个目录,目录为ture,文件为false

var_dump(is_file("./img"));
//判断是否为文件,同上

var_dump(date("Y-m-d H:i:s",fileatime("./img/11.png")));
//上次访问时间

var_dump(date("Y-m-d H:i:s",filectime("./img/11.png")));
//创建时间
var_dump(date("Y-m-d H:i:s",filemtime("./img/11.png")));
//修改时间

var_dump(filesize("./img/11.png"));
//获取文件大小

var_dump(file_exists("/QQPCMgr/www/wenjian/img/22.png"));
//在php里面根/则是磁盘

echo $_SERVER[&#39;DOCUMENT_ROOT&#39;];
//获取到服务器根路径

echo basename("/QQPCMgr/www/wenjian/img/22.png");
//返回22.png带后缀的文件名

echo basename("/QQPCMgr/www/wenjian/img/22.png",".png");
//扔上后缀之后只显示文件名(获取文件名)

echo dirname("/QQPCMgr/www/wenjian/img/22.png");
//返回的是不包含文件名的路径(获取文件名以上的)

var_dump(pathinfo("/QQPCMgr/www/wenjian/img/22.png"));
//这个获取的很全面,都能获取到

echo realpath("./img/11.png");
//真实路径:可以把相对路径转换为绝对路径

var_dump(glob("./ce/*"));
//取到这个文件夹里所有的文件,加后缀为条件

 ?>
로그인 후 복사
<!--<img src="/wenjian/img/11.png" />--><!--在网页里根/代表的是www目录--></body>
로그인 후 복사

전체 파일 작업:

<?php//touch("./11.txt");
//创建文件

//copy("11.txt","./ce/11.txt");
//复制文件

//unlink("./11.txt");
//删除文件

//echo file_get_contents("./ce/11.txt");本地
//echo file_get_contents("http://www.baidu.com");远程
//读取文件所有内容

//file_put_contents("./11.txt","Myshao");
//往文件里面存储内容

//readfile("./11.txt");
//读取并输出

//$arr = file("./shouye.php");
//var_dump($arr);
//读取文件内所有内容,并扔到数组显示

//$ff = fopen("./11.txt","a");
//打开文件资源,详情见注1;

//echo fgetc($ff);
//读取一个字符
//echo fgets($ff);
//读取一行字符
//echo fread($ff,2);
//规定读多长
//fwrite($ff,"shao");
//写入内容
로그인 후 복사

참고 1: 파일 열기 및 읽기

PHP가 fopen() 함수를 사용하는 방식의 구문 구조는 다음과 같습니다

리소스 fopen(string $filename,string $mode) 파일 이름은 대상 파일 이름이며, 원격 파일을 열려면 http://... 형식을 사용해야 합니다. 대상 파일이

ftp 서버에서는 ftp://... 형식이 사용됩니다.

mode는 대상 파일 열기 모드이고, $mode는 허용 모드입니다.

파일 열기 방법표 :

디렉터리 리소스 열기 및 닫기: 열려 있으면 관련이 있으며, 그렇지 않으면 후속 삭제 및 기타 작업에 영향을 미칩니다.

<?php
$fname = "./ce/gf";$d = opendir($fname);//打开文件资源
while ($url = readdir($d))
{    echo $fname."/".$url."<br/>";//    仅读取文件名,把路径拼上=完整路径}var_dump(glob("./*"));closedir($d);//关资源
로그인 후 복사

위 내용은 몇 가지 기본 명령문입니다. 몇 가지 연습을 해보겠습니다.

예: 폴더에 있는 모든 파일의 수를 반환합니다.

ajax 디렉토리에 파일이 몇 개 있는지 계산하려면 아래의 캡슐화된 메소드 shu()를 사용하여 디렉토리를 탐색하고 다른 파일을 계산할 수 있습니다. ce 디렉터리에 있는 파일의 합계입니다.

<?php
function shu($url)
{    $sl = 0;    $arr = glob($url);    //循环遍历
    foreach($arr as $v)
    {        //判断是不是一个文件
        if(is_file($v))
        {            //如果是一个文件+1
            $sl++;
        }        else
        {            $sl +=shu($v."/*");
        }
    }    return $sl;
}echo shu("./ce/*");//最后给方法一个路径进行查找?>
로그인 후 복사

출력을 살펴보세요.

한 번 더!

예: 파일 삭제

<?php
$fname = "./ce/gf";$d = opendir($fname);//打开文件资源
while ($url = readdir($d))
{    echo $fname."/".$url."<br/>";//    仅读取文件名,把路径拼上=完整路径}var_dump(glob("./*"));closedir($d);//关资源

//删除文件夹(非空文件夹)function shan($url)
{//    清空文件夹
    $d = opendir($url);//    打开
    while ($u = readdir($d))//$u现在是文件名    {//        排除...
        if($u!="." && $u!="..")
        {            $fname = $url . "/" . $u;            //完整带路径的文件名
            if (is_file($fname))
            //如果是一个文件            
            {                
            unlink($fname);
            } else //如果是一个文件夹            {
                shan($fname);
            }
        }
    }    closedir($d);    //关闭

    rmdir($url);
}
shan("./122");?>
로그인 후 복사

이렇게 하면 폴더든 파일이든 122 디렉터리의 모든 내용이 삭제됩니다. 🎜>

파일 관리 기능 구현

1. 먼저 파일 보기 기능을 만들고, 모든 파일과 폴더를 표시하도록 하세요 ;

<body>
{$name}

"; }?>
로그인 후 복사

사진:

다음으로 폴더에 특수 표시를 제공합니다.

출력하기 전 폴더입니다. :

//从完整路径中取文件名
   $name = basename($v);   if(is_dir($v)){
       echo "<p class=&#39;item dir&#39; url=&#39;{$v}&#39;>{$name}</p>";
   }   else {
       echo "<p class=&#39;item&#39; url=&#39;{$v}&#39;>{$name}</p>";
   }
로그인 후 복사

폴더라면 배경색만 바꿔주세요

사진 :

2.给文件夹添加双击事件

双击实现进入这个目录;

js代码:

<script>
    $(".dir").dblclick(function(){        
    var url = $(this).attr("url");
        $.ajax({
            url:"chuli.php",
            data:{url:url},
            type:"POST",
            dataType:"TEXT",
            success:function(data)
            {

                window.location.href="wenwen.php";

            }

        });
    })</script>
로그인 후 복사

处理页面:

<?phpsession_start();
$url = $_POST["url"];
$_SESSION["fname"] = $url;
로그인 후 복사

这样就可以实现双击进入此文件夹:

3.返回上一级,找到上一级目录,写个p

$pname = dirname($fname);
echo "<p id=&#39;shang&#39; url=&#39;{$pname}&#39;>返回上一级</p>";
로그인 후 복사

图:

写双击事件:

<script>
 $("#shang").dblclick(function(){       
  var url = $(this).attr("url");
        $.ajax({
            url:"chuli.php",
            data:{url:url},
            type:"POST",
            dataType:"TEXT",
            success:function(data)
            {
                window.location.href="wenwen.php";
            }
        });
    })</script>
로그인 후 복사

返回到文件目录后使其隐藏:

//上一级的目录$pname = dirname($fname);
if(realpath($fname)=="F:\\QQPCMgr\\WWW\\wenjian"){

}else {
    echo "<p id=&#39;shang&#39; url=&#39;{$pname}&#39;>返回上一级</p>";
}
로그인 후 복사

这样的话当我返回到wenjian目录的时候,使其隐藏:

4.删除功能

在文件p里面加删除按钮

 echo "<p class=&#39;item&#39; url=&#39;{$v}&#39;>{$name}<input type=&#39;button&#39; value=&#39;删除&#39; url=&#39;{$v}&#39; class=&#39;sc&#39;/></p>";
로그인 후 복사

来写按钮的点击事件:

js代码:

$(".sc").click(function(){           
 //确认删除提示
            var av = confirm("确定要删除");            
            if(av){            
            var url = $(this).attr("url");
            $.ajax({
                url: "shan.php",
                data: {url: url},
                type: "POST",
                dataType: "TEXT",
                success: function (data) {
                    window.location.href = "wenwen.php";

                }

            });
            }
        })
로그인 후 복사

删除的处理页面:

<?php$url = $_POST["url"];
unlink($url);
로그인 후 복사

这样完成后,当我点击删除:

再点击确定,即可删除

总代码:

管理查看页面:




    
    无标题文档
    
    

<body>
返回上一级

"; }//便利目录下的所有文件显示$arr = glob($fname."/*");foreach ($arr as $v) { //从完整路径中取文件名 $name = basename($v); if(is_dir($v)){ echo "

{$name}

"; } else { echo "

{$name}

"; } }?> <script> $(".dir").dblclick(function(){ var url = $(this).attr("url"); $.ajax({ url:"chuli.php", data:{url:url}, type:"POST", dataType:"TEXT", success:function(data) { window.location.href="wenwen.php"; } }); }) $("#shang").dblclick(function(){ var url = $(this).attr("url"); $.ajax({ url:"chuli.php", data:{url:url}, type:"POST", dataType:"TEXT", success:function(data) { window.location.href="wenwen.php"; } }); }) $(".sc").click(function(){ //确认删除提示 var av = confirm("确定要删除"); if(av){ var url = $(this).attr("url"); $.ajax({ url: "shan.php", data: {url: url}, type: "POST", dataType: "TEXT", success: function (data) { window.location.href = "wenwen.php"; } }); } })</script>
로그인 후 복사

处理:

<?php
session_start();
$url = $_POST["url"];
$_SESSION["fname"] = $url;
로그인 후 복사

删除:

<?php
$url = $_POST["url"];
unlink($url);
로그인 후 복사

위 내용은 PHP 파일 관리 및 기본 기능 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿