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