PHP文件管理之实现网盘及压缩包的功能操作

这篇文章主要介绍了PHP文件管理之实现网盘及压缩包的功能操作,需要的朋友可以参考下。

实现代码如下所示:

1.主页面file_zip.php

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>文件管理</title>
  6. <script src="bootstrap/js/jquery-1.11.2.min.js"></script>
  7. </head>
  8. <style>
  9. *{ margin:0px auto; padding:0px}
  10. #wai{ width:800px;}
  11. .list{ width:50%; height:35px; background-color:#09F; margin-top:2px; color:white; font-weight:bold; text-align:left; line-height:35px; vertical-align:middle; font-size:28px; padding:5px}
  12. .mulu{ background-color:#FC9}
  13. .mulu:hover{ cursor:pointer}
  14. #prev:hover{ cursor:pointer}
  15. </style>
  16. <body>
  17. <div >
  18. <?php
  19. session_start();
  20. $fname = "/wamp/www";//使$filename的值为根文件夹中www目录下的所有文件夹
  21. if(!emptyempty($_SESSION["lujing"])){
  22. $fname = $_SESSION["lujing"];//把session存储的路径赋值给$fname
  23. echo "<div class='list' lj='{sj}'>返回上一级</div>";
  24. }
  25. ?>
  26. <div >
  27. <?php
  28. $sj = dirname($fname);
  29. $dir = opendir($fname);
  30. $arr = array();//将文件夹与文件合并放入
  31. $arr1 = array();//放入文件夹
  32. $arr2 = array();//放入文件
  33. while($filename = readdir($dir)){//把$fname里面的所有内容遍历出来
  34. if($filename != "."){
  35. $ml = $fname."/".$filename;
  36. if(is_dir($ml)){
  37. $arr1[ ] = $ml;
  38. }else{
  39. $arr2[ ] = $ml;
  40. }
  41. }
  42. }
  43. $arr = array_merge($arr1,$arr2);
  44. foreach($arr as $v){
  45. $filename = basename($v);
  46. if(is_dir($v)){
  47. echo "<div lj='{$ml}' class='list mulu'>{$filename}</div>";
  48. }else{
  49. echo "<div class='list'>{$filename}</div>";
  50. }
  51. }
  52. closedir($dir);
  53. ?>
  54. </div>
  55. </div>
  56. </body>
  57. <script>
  58. $(".mulu").dblclick(function(){
  59. var lj = $(this).attr("lj");//取点击内容自己的属性值lj,lj里面存储的是点击的文件夹的目录
  60. $.ajax({
  61. url:"file_zip_chuli.php",
  62. data:{lj:lj},
  63. type:"POST",
  64. dataType:"TEXT",
  65. success:function(){
  66. window.location.href = "file_zip.php";
  67. }
  68. });
  69. })
  70. $("#prev").dblclick(function(){
  71. Load();
  72. })
  73. //双击事件的方法
  74. function Load(){
  75. var lj = $(this).attr("lj");
  76. $.ajax({
  77. url:"file_zip_chuli.php",
  78. data:{lj:lj},
  79. type:"POST",
  80. dataType:"TEXT",
  81. success:function(){
  82. window.location.href = "file_zip.php";
  83. }
  84. });
  85. }
  86. </script>
  87. </html>

2.主页面的处理页面file_zip_chuli.php

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