php文件基本操作(新建、删除、返回)

我们要使页面显示出文件夹,并且可以双击点进去查看里面的文件夹及文件,而且还可以再返回上一级,要用session存储路径,遍历出需要管理的文件:

<?php
session_start();
$fname = "./a";
if(!empty($_SESSION["url"]))
{
    $fname = $_SESSION["url"];//存储文件路径
}
//遍历文件夹
$dir = opendir($fname);

while($n = readdir($dir))
{
    $url = $fname."/".$n;
    if($n!="." && $n!="..")
    {
        if(is_dir($url))//判断路径是不是目录
        {
            echo "<div class=‘file mulu‘ lj=‘{$url}‘ >{$n}</div>";//如果是目录,就进这个,起个名字,双击这个进入下一个子目录
        }
        else
        {
            echo "<div class=‘file‘ lj=‘{$url}‘>{$n}</div>"; 

        }
    }
}
closedir($dir);//关闭目录资源
?>

给遍历出来的目录和文件加样式:

<style>
     *{
         margin:0px;
         padding:0px;
     }
    .file{
         width:50%;
          height:30px;
         border:1px solid #0C9;
     }
    .mulu{
        background-color:#666;
        color:#FFF
         }
    .shangji{
        background-color:#804000;
        color:#0CC;
          }
    .file:hover{cursor:pointer};
</style>

对遍历出来的文件中的目录加事件(双击这个目录打开子目录):

$(".mulu").dblclick(function(){ //找到这个目录,然后加双击事件
        var url= $(this).attr("lj"); //点击这个目录,找到这个目录的路径
        $.ajax({
            url:"wjcl.php",
            data:{url:url},
            type:"POST",
            dataType:"TEXT",
            success: function(data){
                window.location.href = "wenjian.php";//刷新页面
            }
        })
    });

处理页面的编写(这里不能用post或是get传值了,可以用session传值方式传值):

<?php
session_start();
$url = $_POST["url"];
$_SESSION["url"] = $url;

输出“返回上一级”的div:

$wj = realpath($fname);
if($wj == "D:\phpstudy\WWW\a")//文件的绝对路径
{
    //如果路径相等就为空
}
else
{
    $xiashu = dirname($fname);//否则就输出没有文件名的路径
    echo "<div class=‘file shangji‘ lj=‘{$xiashu}‘ >返回上一级</div>";
} 

当我双击任意一个文件夹的时候,进入了其子目录,就会出现“返回上一级”栏了:

然后给返回上级添加点击事件:

$(".shangji").dblclick(function(){ //找到这个目录,然后加双击事件
        var url= $(this).attr("lj");//点击这个目录,找到这个目录的路径
        $.ajax({
            url:"wjcl.php",
            data:{url:url},
            type:"POST",
            dataType:"TEXT",
            success: function(data){
                window.location.href = "wenjian.php";//刷新页面
            }
        })
    });
    

这样双击文件进入及点击返回上一级的管理便完成了,接下来,我们进行新建文件及删除文件的操作:

写文本框,添加新建按钮:

<input type="text" id="name" /><!--文本框用来输入文件名-->
<input type="button" value="新建" id="newf" />

给新建添加点击事件:

$("#newf").click(function(){
    var name = $("#name").val();//用户输入的文件名
    $.ajax({
            url:"xinjian.php",
            data:{name:name},
            type:"POST",
            dataType:"TEXT",
            success:function(data){
              window.location.href = "wenjian.php";
            }
        })
});

新建处理页面:

<?php
session_start();
$name = $_POST["name"];//取到上级目录。根据上级目录创建文件。获取传递过来的名字

$url = $_SESSION["url"];//把$_SESSION["url"]里面的url取出来。保存的路径位置

$filename = $url."/".$name;//他是name文件名。拼凑一个完整路径

touch($filename);//新建文件方法touch()
?>

最后添加删除按钮,在遍历文件那添加删除按钮:

if($n!="." && $n!="..")
    {
        if(is_dir($url))//判断路径是不是目录
        {
            echo "<div class=‘file mulu‘ lj=‘{$url}‘ >{$n}</div>";//如果是目录,就进这个,起个名字,双击这个进入下一个子目录
        }
        else
        {
            echo "<div class=‘file‘ lj=‘{$url}‘>{$n}
             <input type=‘button‘ value=‘删除‘ lj=‘{$url}‘ class=‘sc‘/>
            </div>";
        }
    }

给按钮添加点击事件:

$(".sc").click(function(){
    var lj = $(this).attr("lj");//找到删除的文件的路径
    $.ajax({
            url:"wenshanchu.php",
            data:{lj:lj},
            type:"POST",
            dataType:"TEXT",
            success:function(data){
              window.location.href = "wenjian.php";
            }
        })
});

删除处理页面:

<?php
$lj = $_POST["lj"];
unlink($lj);
?>

总体效果:

然后删除aa2.txt:

时间: 2024-10-11 06:55:25

php文件基本操作(新建、删除、返回)的相关文章

Android MediaProvider--文件管理:必现,文件管理器中新建几个文件夹,批量删除后,连接电脑查看仍有部分文件夹未删除

问题描述: [测试步骤]:1.进入文件管理器中,新建几个文件夹,然后批量全选这些文件夹--删除: 2.手机连接电脑,在电脑端查看文件显示. [测试结果]:电脑端查看仍有部分文件夹未删除.插拔USB线几次,在电脑端重新查看,仍显示. [预期结果]:电脑端不应显示已删除的文件夹. [复现概率]:100%(若第一次未复现,步骤1.2重新操作即可复现) [备注]:在文件管理中点击"搜索",也能搜索出这些文件夹. 按以下步骤更容易复现 1.添加一个本地文件夹,删除新添加的文件夹 2.再新建另一文

从零开始的Python学习Episode 7——文件基本操作

文件基本操作 一.打开文件 f = open('11','r')#open('file path','mode') 创建一个文件对象 文件有多种打开模式: 1. 'r':新建一个文件对象以只读方式打开文件.读文件的指针将会放在文件的开头. f = open('11','r')#open('file path',mode') data = f.read() print(data)f.close() #输出123456789 2.'w':新建一个只用于写文件的文件对象 f = open('11','

Linux命令行基础 、 基础命令操作 、 目录文件基本操作

  Linux命令行基础 基础命令使用 目录和文件基本管理 #################################################   一.Linux命令行基础   1. 什么是命令.命令行    命令:能够被Linux系统识别,用来完成某一类功能的指令或程序                           |--> 依赖于Shell解释器,查看:cat/etc/shells 默认为 /bin/bash    命令行:用户输入的命令及相关参数,按Enter键提交的

目录结构及文件基本操作

目录结构及文件基本操作 Linux 目录结构及文件基本操作 介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux 目录结构之前,你首先要清楚一点东西,那就是 Linux 的目录与 Windows 的目录的区别,或许对于一般操作上的感受来说没有多大不同,但从它们的实现机制来说是完全不同的. 一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系上,以往的 Windows 一直是以存储介

Linux 基础入门----目录结构及文件基本操作

Linux 目录结构及文件基本操作 介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux 目录结构之前,你首先要清楚一点东西,那就是 Linux 的目录与 Windows 的目录的区别,或许对于一般操作上的感受来说没有多大不同,但从它们的实现机制来说是完全不同的. 一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系上,以往的 Windows 一直是以存储介质为主的,主要以盘符(C

java之文件基本操作

java之文件基本操作 1 使用 BufferedReader 在控制台读取字符 public static void readChar() throws IOException{ char c; InputStreamReader stream=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(stream); System.out.println("Enter characters,'q' to qu

Linux目录结构及文件基本操作

Linux目录结构 Linux与Windows目录结构的区别,一种是体现在目录与存储介质的关系上.以往的Windows一直以存储介质为主,主要以盘符(C盘,D盘)及分区的来实现文件管理,然后之下才是目录,.因此目录则显得不是很重要,除系统文件之外的用户文件放在任何地方任何目录也没多大关系.所以通常Windows在使用一段时间后,磁盘上面的文件目录会显得杂乱无章.然而Unix/Linux恰好相反,Unix是以目录为主的,Linux也继承了这一优良特性.Linux是以树形目录结构的形式来构建整个系统

ASP.NET中的文件操作(文件信息,新建,移动,复制,重命名,上传,遍历)(亲测详细)

做了几天的文件操作,现在来总结一下,错误之处,还望指点!以文件为例,如果对文件夹操作,基本上将File换为Directory即可(例:FileInfo file = new FileInfo(Path);与DirectoryInfo directory = new DirectoryInfo (Path);) 1获取文件信息 在知道文件相对路径的情形,下面代码可以获取文件的详细信息 1 public static void fileinfo(string Path) 2 { 3 Path = S

PHP 查看文件夹大小、复制文件夹、删除文件夹

PHP虽然提供了 filesize.copy.unlink 等文件操作的函数,但是没有提供 dirsize.copydir.rmdirs 等文件夹操作的函数(rmdir也只能删除空目录).所以只能手动编写这些函数,主要的技巧是通过递归将问题逐层分解,直到分解成可以直接解决的最小子问题. ====================查看文件夹大小===================== 由于文件夹是没有大小的,平常所说的文件夹尺寸准确的说应该是文件夹中所有文件的总大小.所以只需要将文件夹逐层查找,统