Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
32 / 27 / 8
Регистрация: 28.02.2011
Сообщений: 1,826
1

Программа списка файлов

16.03.2016, 10:43. Показов 510. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Какой должна быть программа для получения списка файлов на хостинге...
Первоначально сделал вот такую программу
PHP
1
2
3
4
5
<?php
$dir = '/var/www/xxxx/data/www/xxx.ru';
$f = scandir($dir);
foreach ($f as $file){echo $file.'<br/>';}
?>
Но...
1. хотелось бы чтоб вывод списка записывался в файл, а не на экран
2. чтоб в списке юыли не только имя.расширение файла, но и друге атрибуты файла (размер и т.д.)
3. чтоб выводился список со всеми файлам в подкаталогах..
Как это можно сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2016, 10:43
Ответы с готовыми решениями:

Программа для создания списка файлов
Подскажите программу какую либо, похожую на Directory list pro Чтобы могла создавать...

Простая программа для просмотра списка файлов
Доброго времени суток! Обращаюсь к вам как специалистам программистам, и профессионалам своего...

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

Программа просмотра списка файлов указанного каталога
Помогите пожалуйста! Написать программу просмотра списка файлов указанного каталога, а так же...

5
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
16.03.2016, 10:57 2
С помощью суперглобального массива $_FILES
0
Фрилансер
Эксперт JSЭксперт HTML/CSSЭксперт PHP
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
16.03.2016, 11:03 3
Цитата Сообщение от tmpnik1 Посмотреть сообщение
1. хотелось бы чтоб вывод списка записывался в файл, а не на экран
http://php.net/manual/ru/funct... ntents.php
Цитата Сообщение от tmpnik1 Посмотреть сообщение
2. чтоб в списке юыли не только имя.расширение файла, но и друге атрибуты файла (размер и т.д.)
http://php.net/manual/ru/function.filesize.php
http://php.net/manual/ru/function.filetype.php
Ну и т.д.
Цитата Сообщение от tmpnik1 Посмотреть сообщение
3. чтоб выводился список со всеми файлам в подкаталогах..
написать рекурсивную функцию.
0
32 / 27 / 8
Регистрация: 28.02.2011
Сообщений: 1,826
17.03.2016, 07:57  [ТС] 4
спасибо..

Добавлено через 20 часов 42 минуты
вот нарыл программу, чуть-чуть подделал под себя(не до конца, надо атрибуты файла поставить)...
Кликните здесь для просмотра всего текста
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
<?php
// $path - путь к директории
// $pattern - шаблон поиска
// $flags - константа для функции glob()
// $depth - глубина вложенности, просматриваемая функцией. -1 - без ограничений.
function bfglob($path, $pattern = '*', $flags = GLOB_NOSORT, $depth = 0)
  {
  $matches = array();
  $folders = array(rtrim($path, DIRECTORY_SEPARATOR));
 
  while($folder = array_shift($folders))
    {
    $matches = array_merge($matches, glob($folder.DIRECTORY_SEPARATOR.$pattern, $flags));
    if($depth != 0)
      {
      $moreFolders = glob($folder.DIRECTORY_SEPARATOR.'*', GLOB_ONLYDIR);
      $depth   = ($depth < -1) ? -1: $depth + count($moreFolders) - 2;
      $folders = array_merge($folders, $moreFolders);
      }
    }
  return $matches;
  }
 
$file = bfglob('/var/www/xxxx/data/www/xxx.ru', "*", GLOB_NOSORT, -1);
file_put_contents('sss', implode(PHP_EOL, $file))}

но я поражаюсь, если это форум для начинающих, то какой надо иметь уровень начинающего, чтоб написать такую программу, подскажите пожалуйста форум где могут помочь, а не послать по ссылке, с уровнем ниже начинающего...?
0
Фрилансер
Эксперт JSЭксперт HTML/CSSЭксперт PHP
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
17.03.2016, 13:09 5
Цитата Сообщение от tmpnik1 Посмотреть сообщение
если это форум для начинающих, то какой надо иметь уровень начинающего
Хотя бы уровень , который позволяет зайти и прочитать информацию в том же гугле, php.net и т.д.
Вот по вашему последнему заданию, написал вам. Только я не проверял.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        function OpenDirs($dir){
        $scandir = scandir($dir);
        foreach ($scandir as $v){
            if ($v=="." || $v=="..") continue;
                          if(is_dir($v)){
                        echo "<b><h3>====$v====</h3></b><br/>"; //папки
                    }else echo $v."<br/>";
                    if(is_dir($v)){
                        OpenDirs($dir."/".$v);
                    }
                    
        }
    }
OpenDirs(".");// .это текущая директория
0
32 / 27 / 8
Регистрация: 28.02.2011
Сообщений: 1,826
18.03.2016, 06:46  [ТС] 6
спасибо, но предложенная программа показывает только первую глубину вложенности, та программа которую я привёл под спойлером, она на реальном каталоге(3 сайта) показала где-то третий уровень вложенности, в инете действительно много программ предлагающих составить список файлов, вот каждую беру, затачиваю под себя, проверяю на тестовом, потом на реальном каталоге... но что-то как-то всё не могу найти... Тут вообще можно отдельную закреплённую тему список программ которые делают листинг директории, и разбор ошибок...
Добавлено через 36 минут
Ну всё, нашёл в инете рабочий пример...вроде всё нормально отрабатывает с бесконечной глубиной...
Кликните здесь для просмотра всего текста
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
<?php
  // Оригинальный код - Chirp Internet: www.chirp.com.au
  // Пожалуйста, укажите это в хедере, если будете использовать данный код
 
  function getFileList($dir, $recurse=false, $depth=false)
  {
    // массив, хранящий возвращаемое значение
    $retval = array();
 
    // добавить конечный слеш, если его нет
    if(substr($dir, -1) != "/") $dir .= "/";
 
    // указание директории и считывание списка файлов
    $d = @dir($dir) or die("getFileList: Не удалось открыть каталог $dir для чтения");
    while(false !== ($entry = $d->read())) {
 
      // пропустить скрытые файлы
      if($entry[0] == ".") continue;
      if(is_dir("$dir$entry")) {
        $retval[] = array(
          "name" => "$dir$entry/",
          "size" => 0,
          "lastmod" => filemtime("$dir$entry")
        );
        if($recurse && is_readable("$dir$entry/")) {
          if($depth === false) {
            $retval = array_merge($retval, getFileList("$dir$entry/", true));
          } elseif($depth > 0) {
            $retval = array_merge($retval, getFileList("$dir$entry/", true, $depth-1));
          }
        }
      } elseif(is_readable("$dir$entry")) {
        $retval[] = array(
          "name" => "$dir$entry",
          "size" => filesize("$dir$entry"),
          "lastmod" => filemtime("$dir$entry")
        );
      }
    }
    $d->close();
 
    return $retval;
  }
 
$if=fopen("sss","w");
$file = getFileList("/var/data/www", true);
 
fwrite($if,print_r($file, 1));
fclose($if);
 
echo "<script>alert(\"Сделано.\");</script>"; 
?>
0
18.03.2016, 06:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2016, 06:46
Помогаю со студенческими работами здесь

Программа для создания списка директорий и файлов в них
Посоветуйте программу для решения этой задачи

Вывод списка .txt файлов в папке и последующее открытие файлов
Ребята, подскажите или помогите реализовать программу, которая допустим при помощи OpenFileDialog,...

FTP: получение списка файлов из потока. Как вывести список файлов из директории?
доброго времени суток. пытаюсь написать свой FTP-клиент. отправил серверу команду LIST, и в...

Поиск на диске файлов с расширениями .txt и .docx и создание списка имён найденных файлов
Помогите, нужно создать bat файл, который ищет на диске файлы *.txt *docx а потом создаёт список с...

Копирование файлов из списка файлов
Здравствуйте, уважаемые форумчане. Помогите решить проблему: ищу файлы методом foreach...

Сортировка списка файлов
Возникла проблемка ! Работаю с ASP, VBScript. Считываю из каталога список файлов с именами 1.avi,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru