Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2011, 22:16   #1
stellavin
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 11
По умолчанию Менеджер файлов

Вот хотел бы узнать как вывести на экран папки и файлы с их расширением?? Допустим что папка files лежит в корневом каталоге.
/index.php
/files/papka_1/1.doc
/files/papka_1/2.txt
/files/papka_2/3.doc
На экран выводится:
papka_1
papka_2
как ссылки. Открываю например папку papka_1, выводится
1.doc
2.txt
Вот код почти рабочей программы:
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>"); 
Отображается только папки, если открываю папку отображается какое то окно с файлами, но оно не мною сздано аа сервером.
Код HTML:
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
В чем проблема может быть??
stellavin вне форума Ответить с цитированием
Старый 19.05.2011, 22:25   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Иногда если зайти в какую-то папку, то выведется ее содержимое, если это не скрипт, не HTML и т.п. Просто листинг файлов всех
motorway вне форума Ответить с цитированием
Старый 19.05.2011, 23:09   #3
stellavin
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 11
По умолчанию

Вот код совершенно другой, но выводит тоже самое
PHP код:
$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>'
stellavin вне форума Ответить с цитированием
Старый 20.05.2011, 10:26   #4
KPEATuBHO
Форумчанин
 
Аватар для KPEATuBHO
 
Регистрация: 03.09.2010
Сообщений: 197
По умолчанию

рискую предположить, что может вот такой вариант покатит:
Код:
$files_arr = scandir(dirname(__FILE__).'/files');
KPEATuBHO вне форума Ответить с цитированием
Старый 20.05.2011, 20:05   #5
8oOoRPM
Форумчанин
 
Регистрация: 12.11.2010
Сообщений: 146
По умолчанию

PHP код:
<?php

//сейчас попробую показать на скорую руку

$basedir $_SERVER['DOCUMENT_ROOT'];
define('DEL''/');


$dir = isset($_GET['dir'])?trim(escapeshellcmd(strip_tags($_GET['dir']))):'';

if ( 
is_file($dir) )
   exit (
highlight_file($dir)); // если не работает то -> highlight_string(file_get_contents($dir))

$curent_dir $dir;

if ( !
is_dir($curent_dir) || strpos($curent_dir$basedir) === false )
   
$curent_dir $basedir;
      

$dh opendir($curent_dir);

$tmp_files = array();
$tmp_dirs = array();

while (
false !== ($file readdir($dh)))
{
  if ( 
$file == '.' || $file == '..' || $file[0] == '.' )
     continue;  
  
$file_path $curent_dir.DEL.$file;
   if ( 
is_dir($file_path ) )
     
array_push($tmp_dirs$file_path );
   else
     
array_push($tmp_files$file_path);
}

echo 
'<b>Directories:</b><br/>';
foreach ( 
$tmp_dirs as &$d )
{
  echo 
'<a href="?dir='.urlencode($d).'">'.$d.'</a><br/>';
}
echo 
'<hr/><b>Files:</b><br/>';
foreach ( 
$tmp_files as &$f )
{
  echo 
'<a href="?dir='.urlencode($f).'">'.$f.'</a><br/>';
}
?>

Последний раз редактировалось 8oOoRPM; 20.05.2011 в 20:16.
8oOoRPM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файловый менеджер wcat99 Общие вопросы Delphi 1 30.04.2011 21:06
менеджер Ainyrka БД в Delphi 0 25.02.2011 16:34
Менеджер Листов tae1980 Microsoft Office Excel 11 30.01.2011 19:19
Менеджер Файлов MuroKot Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 31.10.2010 19:45