php文件管理基本功能簡單操作
(1)先要想好要操作哪個文件?
(2)確定文件的路徑?
(3)要有什么文件管理功能?
一、先做一下簡單的查看文件功能,文件中的文件和文件夾都顯示,但是雙擊文件夾可以顯示下一級子目錄,雙擊“返回上一級”就可以返回到上一級目錄
(1)先將需要管理的文件遍歷出來,可以加個樣式
<?php //打開目錄資源 $dir = opendir($fname); //循環(huán)讀取 while($n = readdir($dir)) { <br> //拼個路徑 $url = $fname."/".$n;<br> //沒有這個條件,會有./..的這個路徑 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>"; //如果不是目錄,就進入這個。。統(tǒng)一的起個名字,這樣好給他們寫樣式 } } } closedir($dir); //關閉目錄資源 ?>
給遍歷出來的目錄和文件加樣式 ,上面已將給他們起了名字了(樣式可以隨便換的)
<style type="text/css"> *{margin:0px auto; padding:0px} .file{ width:50%; height:30px; border:1px solid #60F} .mulu{ background-color:#639; color:#FFF} </style>
看下結果樣式: 帶有背景顏色的是目錄文件夾,代表下面還有文件,需要加雙擊事件進行下一步打開;沒有背景色的就是純文件了
(2)對遍歷出來的文件中的目錄加事件(雙擊這個目錄打開子目錄)
<script type="text/javascript"><br> //找到這個目錄,然后加雙擊事件 $(".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 = "file_homework.php"; //刷新頁面 } }) }) </script>
(3)處理頁面的編寫(這里不能用post或是get傳值了,可以用session傳值方式傳值)
<?php session_start(); //開啟session $url = $_POST["url"]; //接收上面?zhèn)鬟^來的url值 $_SESSION["url"]=$url; //session方式的值等于傳的url值
(4)處理頁面結束后,也要在主頁面開啟session,還要判斷傳值是否為空,因為剛開始管理頁面時沒有“返回上一級”,所以要判斷一下
//要寫在php的最頂端 session_start(); //這個要寫在“打開目錄資源的上面” if(!empty($_SESSION["url"])) { $fname = $_SESSION["url"]; }
(5)輸出“返回上一級”的div
$jdlj = realpath($fname); //文件的絕對路徑 if($jdlj = "D:\\wamp\\www\\ajax") { //如果路徑相等就為空 } else { $fuji = dirname($fname); //否則就輸出沒有文件名的路徑 echo "<div class='file prev' lj='{$fuji}' >返回上一級</div>"; //輸出這個div }
給這個div加點樣式
.prev{ background-color:#09F; color:#906}
看下結果:
第一次打開時是沒有“返回上一級”這一欄的
當我雙擊任意一個文件夾的時候,進入了其子目錄,就會出現(xiàn)“返回上一級”欄了
(6)既然有了這一欄,就可以利用這一欄進行返回上一級目錄了,我們可以給這個div加雙擊事件,讓其返回
$(".prev").dblclick(function(){ var url = $(this).attr("lj"); //找到這個div<br> //處理頁面和遍歷目錄時的處理頁面是一樣的 $.ajax({ url:"wjcl.php", data:{url:url}, type:"POST", dataType:"TEXT", success: function(data){ window.location.href = "file_homework.php"; //刷新頁面 } }) })
這樣就可以雙擊返回上一級目錄了。
二、再進一步管理一下文件,可以新建文件在這個文件夾中
(1)就是寫個文本框,在添加個新建按鈕
<input type="text" id="name" /> //文本框:起名字用的
<input type="button" value="新建" id="new" /> //新建按鈕
(2)給按鈕寫單擊事件
$("#new").click(function(){ var name = $("#name").val(); $.ajax({ url:"newcl.php", data:{name:name}, type:"POST", dataType:"TEXT", success: function(d){ window.location.href = "file_homework.php"; //刷新頁面 } }) })
(3)新建文件的處理頁面
<?php session_start(); //開啟session $name = $_POST["name"]; //獲取傳遞過來的名字 $url = $_SESSION["url"]; //保存的路徑位置 $filename = $url."/".$name; //拼保存路徑 touch($filename); //新建文件方法touch() ?>
結果演示一下:
選擇一個新建位置,然后輸入文件名:::新建一個you.php的文件,如圖顯示:
三、下一個管理功能,刪除不想要的文件
(1)添加刪除按鈕,在遍歷文件那添加刪除按鈕
echo "<div class='file' lj='{$url}'>{$n}<input type='button' value='刪除' lj='{$url}' id='delete'/></div>"; //起個名字,給他添加樣式,可以讓他好看一點,也是為了后面的添加事件
添加的樣式:
#delete{ float:right} //又浮動
刪除按鈕添加后的顯示效果
(2)給按鈕添加單擊事件
$(".delete").click(function(){ var lj = $(this).attr("lj"); //找到刪除的文件的路徑 $.ajax({ url:"deletecl.php", //編寫刪除的處理頁面 data:{lj:lj}, type:"POST", dataType:"TEXT", success: function(a){ window.location.href = "file_homework.php"; //刷新頁面 } }) })
(3)刪除頁面很簡單,就是找到這個傳值,用刪除文件方法刪除就可以
<?php $lj = $_POST["lj"]; unlink($lj); //刪除文件的方法unlink() ?>
刪除也寫完了,查看下效果,那么就刪除我們之前新建的那個文件吧
文件就已經(jīng)刪除了~~
除了這些基本的功能外,還可以有很多的文件管理功能,后面陸續(xù)更新中。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
PHP+JS實現(xiàn)批量刪除數(shù)據(jù)功能示例
這篇文章主要介紹了PHP+JS實現(xiàn)批量刪除數(shù)據(jù)功能,結合實例形式分析了php結合js控制頁面元素的選中與提交,以及php操作mysql實現(xiàn)批量刪除功能的相關實現(xiàn)技巧,末尾還附帶了一個php數(shù)據(jù)庫操作類,需要的朋友可以參考下2017-11-11PHP+redis實現(xiàn)的限制搶購防止商品超發(fā)功能詳解
這篇文章主要介紹了PHP+redis實現(xiàn)的限制搶購防止商品超發(fā)功能,結合實例形式分析了PHP+redis通過數(shù)據(jù)標記、日志記錄等操作防止商品搶購中的超發(fā)相關實現(xiàn)技巧,需要的朋友可以參考下2019-09-09