Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для posthuman
10 / 10 / 2
Регистрация: 26.09.2009
Сообщений: 93

Менеджер файлов

19.05.2011, 10:21. Показов 1782. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот хотел бы узнать как вывести на экран папки и файлы с их расширением?? Допустим что папка лежит в крневом каталоге.
www/index.php
www/files/1/1.doc
www/files/1/2.doc
www/files/2/3.doc
www/files/2/4.doc
При открытии сайта отображались только файлы директории files.
А файлы были доступны для скачки. Пробовал с opendir и readdir. Не то что нужно получается. Может быть это как то возможно с помощью суперглобальных переменных??
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.05.2011, 10:21
Ответы с готовыми решениями:

менеджер файлов
Подскажите пожалуйста как вывести файлы в listview чтоб вначале были папки а потом файлы Нашёл один способ но по моему он какой то...

Программа менеджер файлов
Здравствуйте. Помогите пожалуйста написать программу менеджер файлов. Я только недавно начал заниматься программированием на Си....

Менеджер файлов на Delphi
помогите написать простейшую программу на курсовую на Delphi 7 "файловый менеджер" с описание как делал

9
130 / 117 / 30
Регистрация: 14.11.2010
Сообщений: 707
19.05.2011, 11:49
вот выводит список файлов и папок с ссылками на файлы:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$path = 'ПУТЬ К ФАЙЛУ';
$hdl = opendir($path);
while (false != ($name = readdir($hdl)) )
{
    if (($name == '.') || ($name == '..')) continue;
    if (is_file($name))
    {
        echo "<a href=\"".$file."\">".$name."</a>"."<br>";
    } 
    if (is_dir($name))
    {
        echo $name."<br>";
    }
    
}
?>
0
 Аватар для posthuman
10 / 10 / 2
Регистрация: 26.09.2009
Сообщений: 93
19.05.2011, 12:13  [ТС]
Не выводит почему то(( Папку указал в директории со страницей(
PHP
1
$path = "files";
0
130 / 117 / 30
Регистрация: 14.11.2010
Сообщений: 707
19.05.2011, 12:24
напиши так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$path = getcwd();
echo $path = $path.'/files/';
$hdl = opendir($path);
while (false != ($name = readdir($hdl)) )
{
    if (($name == '.') || ($name == '..')) continue;
    if (is_file($name))
    {
        echo "<a href=\"".$file."\">".$name."</a>"."<br>";
    } 
    if (is_dir($name))
    {
        echo $name."<br>";
    }
    
}
?>
0
 Аватар для posthuman
10 / 10 / 2
Регистрация: 26.09.2009
Сообщений: 93
19.05.2011, 20:39  [ТС]
Выводит только путь к папке. правильно. а сами папки и файлы в них не выводит.
Нужно чтобы выводился список папок, при нажатии на которую показывались все файлы в ней с расгирением. Но пока что только показывает путь.

Добавлено через 8 часов 2 минуты
Вот что получилось. выводит правильно список папок. При открытии папки, открывается какое то окно php.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
    $direct = opendir("files");
    $i=0;
    while ($file = readdir ($direct)) {
        if (($file != ".") && ($file != "..")) {
            $arFile[$i]=$file;
            $i+=1;
        }
    }
    closedir ($direct);
    for ($n=0; $n < $i; $n++) 
        echo("<li><a href='files/".$arFile[$n]."'>".$arFile[$n]."</a></li>");
 
?>
Как сделать чтобы были видны и файлы с расширением???
0
130 / 117 / 30
Регистрация: 14.11.2010
Сообщений: 707
19.05.2011, 20:57
стаким кодом у меня выводит файлы с расширением:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        $direct = opendir("qwe");
        while (false != ($file = readdir ($direct))) {
        if (($file == ".") && ($file == "..")) continue;
        
        $arFile[]=$file;
        }
        closedir ($direct);
        
        foreach ($arFile as $key => $value)
        {
            echo $value."<br>";
        }
 
?>
ну попробуй так, если не получается:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
      $direct = opendir("files");
        while (false != ($file = readdir ($direct))) {
        if (($file == ".") || ($file == "..")) continue;
        
        $path_parts = pathinfo($file);
        $arFile[] = $path_parts['basename']; 
        }
        closedir ($direct);
        
        foreach ($arFile as $key => $value)
        {
            echo "<a href=\"files/".$value."\">".$value."</a><br>";
        }
 
?>
0
 Аватар для posthuman
10 / 10 / 2
Регистрация: 26.09.2009
Сообщений: 93
19.05.2011, 22:09  [ТС]
при открытии папки открывается новая страница, которой у меня нету
PHP
1
2
3
4
5
6
Index of /cat_files/files/АО - кадровое обеспечение
Name    Last modified   Size    Description
Parent Directory         - 
Должностно..> 18-Jun-2009 17:51   199K
 
Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8k PHP/5.3.3 Server at localhost Port 80
Нужно чтобы в одной и той же форме все открывалось.
Допустим вывелся список папок:
papka_1
papka_2
Нажал papka_1 вышли файлы
1.txt
2txt
3.doc
0
 Аватар для GalaX
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
19.05.2011, 22:37
glob()
0
 Аватар для posthuman
10 / 10 / 2
Регистрация: 26.09.2009
Сообщений: 93
19.05.2011, 23:16  [ТС]
Сделал по другому, а вывод тот же самый
PHP
1
2
3
4
5
6
7
8
9
$files_arr = scandir('files'); 
//выведем содержимое массива на экран 
echo '<pre>'; 
$n = sizeof($files_arr); 
for ($i = 0; $i < $n; $i++) { 
    if (($files_arr[$i] == '.') || ($files_arr[$i] == '..')) continue; 
    print_r("<li><a href='files/".$files_arr[$i]."'>".$files_arr[$i]."</a></li>"); 
} 
echo '</pre>';
0
 Аватар для andyarus
175 / 77 / 2
Регистрация: 19.04.2011
Сообщений: 322
20.05.2011, 21:21
ы
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
 
if(!file_exists("uniqueopendir534asdf.php")) {
    $abc = fopen("uniqueopendir534asdf.php","w");
    $data = <<<'EOD'
<?php
$dir = dirname(__FILE__);
$address = dirname($_SERVER['REQUEST_URI']);
$a = scandir($dir);
foreach($a as $v) { if($v !== '.' && $v !== '..' && $v !== 'Thumbs.db' && $v !== 'uniqueopendir534asdf.php' && $v !== 'vz2xv23as32dv.php') {
    if(is_dir($dir.'\\'.$v)) { $directory[]= $v; echo '<img src="http://s61.***********/i171/1105/8d/4fadbedb4906.png"><a href="'.$address.'\\'.$v.'\\uniqueopendir534asdf.php'.'">'.$v.'</a><br />';} else echo '<a href="'.$v.'">'.$v.'</a><br />';
}
}
 
include 'vz2xv23as32dv.php';
if(isset($directory))
foreach($directory as $v) {
copy("$root\\uniqueopendir534asdf.php","$dir\\$v\\uniqueopendir534asdf.php");
copy("$root\\vz2xv23as32dv.php","$dir\\$v\\vz2xv23as32dv.php");
}
echo '<br /><a href="'.$_SERVER['HTTP_REFERER'].'">Назад</a>';
echo '<br /><a href="'.$rootweb.'\\index.php'.'">Home</a>';
?>
EOD;
    fwrite($abc, $data);
    fclose($abc);
}
 
$dir = dirname(__FILE__);
$address = dirname($_SERVER['REQUEST_URI']);
 
if(!file_exists("vz2xv23as32dv.php")) {
$abc = fopen("vz2xv23as32dv.php",'w');
$data = "<?php \$root = '$dir'; \$rootweb = '$address'; ?>";
fwrite($abc, "$data");
fclose($abc);
}
 
 
 
$a = scandir($dir);
foreach($a as $v) { if($v !== '.' && $v !== '..' && $v !== 'Thumbs.db' && $v !== 'uniqueopendir534asdf.php' && $v !== 'vz2xv23as32dv.php' && $v !== 'z3zccdv_delete.php') {
    if(is_dir($dir.'\\'.$v)) { $directory[]= $v; echo '<img src="http://s61.***********/i171/1105/8d/4fadbedb4906.png"><a href="'.$address.'\\'.$v.'\\uniqueopendir534asdf.php'.'">'.$v.'</a><br />';} else echo '<a href="'.$v.'">'.$v.'</a><br />';
}
}
 
include 'vz2xv23as32dv.php';
if(isset($directory))
foreach($directory as $v) {
copy("$root\\uniqueopendir534asdf.php","$dir\\$v\\uniqueopendir534asdf.php");
copy("$root\\vz2xv23as32dv.php","$dir\\$v\\vz2xv23as32dv.php");
}
 
echo '<br /><br /><br /><a href="z3zccdv_delete.php">Удалить вспомогательные файлы</a>';
if(!file_exists('z3zccdv_delete.php')) {
$asd = fopen('z3zccdv_delete.php','w');
$data = <<<'EOT'
<?php
$find = 'dir vz2xv23as32dv.php,uniqueopendir534asdf.php,z3zccdv_delete.php /b/s';
exec($find, $delete);
foreach($delete as $v)
unlink($v);
echo 'Файлы удалены!';
echo '<br /><br /><br /><a href="index.php">Home (опять создаст файлы)</a>';
?>
EOT;
fwrite($asd, $data);
fclose($asd);
}
    
 
?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.05.2011, 21:21
Помогаю со студенческими работами здесь

Менеджер загрузки файлов в VB
Известно что Internet Explorer имеет менеджер загрузки файлов с вполне приличным интерфейсом (ход загрузки, скорость загрузки ...)....

Менеджер файлов в Делфи
Помогите пожалуйста написать файловый менеджер любым удобным для вас способом.

Менеджер файлов для CMS
Добрый день, хотелось бы узнать можно ли реализовать скрипт(эдакий скрипт-мини-cms) который позволит добавлять и удалять ссылки на файлы...

Менеджер для скачивания файлов с файлообменников
Какую прогу лучше использовать что бы скачать с файлообменников? Надеюсь есть что-то типа универсальной?

Менеджер файлов (с управлением через PC по USB)
Здравствуйте, уважаемые форумчане, Передо мной стоит задача - написать программу (для PC), которая будет находить Android устройство по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru