Warning: array_merge(): Argument #2 is not an array in /hsphere/local/home/magistr/codeismy.name/wp-content/plugins/wp-pagenavi/scb/Options.php on line 46

Файловый менеджер на php

Дата: Апрель 26, 2009

(0) комментариев

Писал админку для одного веб проэкта и вот решил поделиться результатами своей работы с вами :) . Целесообразность такого файлового менеджера достаточно велика.
Код данного менеджера я ограничил выводом дерева файлов, так как всё остальное вы и сами сможете доработать :) .

Начинать вывод файлов мы будем с DOCUMENT_ROOT, а передавать необходимый путь будем гет запросами с параметром dir.
Для начала обработаем нашу строку

1
2
3
$path=$_SERVER['DOCUMENT_ROOT'];
if(substr($path,strlen($path)-1 ,strlen($path))=="/") $path=substr($path,0,strlen($path)-1);
$path.=preg_replace("!//!","/",$_GET['dir']."/"); // путь к к

Теперь обратимся по полученному пути и узнаем список всех поддиректорий находящихся в нашей папке.

1
2
3
4
5
6
if ($dir = @opendir($path)) {
  echo "<br>dir: <a href=\"?dir=".$_GET['dir']."/..\">&lt;Назад</a><br />";
  while (($file = @readdir($dir))) { //читаем дерикторию
      if (is_dir($path.$file)) { //проверяем является ли каталогом
          // значит это каталог
          if($file!="..") if($file!=".") echo "dir: <a href=\"?dir=".$_GET['dir']."/".$file."\">\"$file\"</a

такую же манипуляцию проведём и для файлов, только вместо is_dir у нас будет проверка is_file.

1
2
3
4
5
6
7
if ($dir = @opendir($path)) {
  while (($file = @readdir($dir))) {
      if (is_file($path.$file)) {
          // значит это файл а не каталог
          echo "file: \"$file\"<br />";
      }
 

Получим следующий код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
header("Content-type: text/html; charset=utf-8\r\n");
$path=$_SERVER['DOCUMENT_ROOT'];
if(substr($path,strlen($path)-1 ,strlen($path))=="/") $path=substr($path,0,strlen($path)-1);
$path.=preg_replace("!//!","/",$_GET['dir']."/"); // путь к каталогу
echo $path;
if ($dir = @opendir($path)) {
  echo "<br>dir: <a href=\"?dir=".$_GET['dir']."/..\">&lt;Назад</a><br />";
  while (($file = @readdir($dir))) {
      if (is_dir($path.$file)) {
          // значит это каталог
          if($file!="..") if($file!=".") echo "dir: <a href=\"?dir=".$_GET['dir']."/".$file."\">\"$file\"</a><br />";
      }
  }
  closedir($dir);
}
if ($dir = @opendir($path)) {
  while (($file = @readdir($dir))) {
      if (is_file($path.$file)) {
          // значит это файл а не каталог
          echo

Пользуемся :)
В следующей статье покажу как можно сделать ещё и редактор файлов

a




    Нет комментариев на "Файловый менеджер на php"

    Нет комментариев.


    Вы можете продолжить обсуждение этой статьи на форуме


    Имя : 
    Почта : 
    Сайт : 
    Комментарий : 

    Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.

    Создание сайта - Echo-group Раскрутка сайтов