Важная информация
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Как организовать вывод всех файлов лежащих на хостинге?

  1. #1 Как организовать вывод всех файлов лежащих на хостинге? 
    Новичок
    Регистрация
    17.11.2011
    Адрес
    СПБ
    Сообщений
    22
    Сказал(а) спасибо
    3
    Поблагодарили 0 раз(а) в 0 сообщениях
    Волнует вопрос: Как организовать вывод всех файлов лежащих на хостинге (в особой директории), чтобы их можно было скачать и в обратную сторону (загрузить в этот каталог)! Нужен кодик, если конечно таковой имеется у кого-нибудь.:eek:
    Последний раз редактировалось Konstantin Shcherba; 17.11.2011 в 01:18. Причина: Подправил название темы
    Ответить с цитированием  
     

  2. #2  
    Гуру Аватар для Konstantin Shcherba
    Регистрация
    08.11.2010
    Сообщений
    1,336
    Сказал(а) спасибо
    26
    Поблагодарили 139 раз(а) в 107 сообщениях
    Записей в блоге
    1
    Проще всего это реализовать при помощи архивации папки.

    Для php 5.2+ и при наличии библиотеки ZipArchive есть следующий код:

    Код php:
    $zip = new ZipArchive;
    if (([Ссылки могут видеть только зарегистрированные пользователи. ]($_GET['act']))&&($_GET['act']=='unzip')){
        if ([Ссылки могут видеть только зарегистрированные пользователи. ]($_GET['filename'])){
            if ($zip->open($_GET['filename']) === true){
                $zip->extractTo('unpacked/');
                $zip->close();
            }else{
                echo 'Ошибка! Архив с таким именем не задан!';
            }
        }else{
            echo 'Ошибка! Не задано имя архива!';
        }
    }elseif(([Ссылки могут видеть только зарегистрированные пользователи. ]($_GET['act']))&&($_GET['act']=='zip')){
        if ($zip->open('unpacked/archive.zip', ZipArchive::CREATE) === true){
            $allfiles   =   [Ссылки могут видеть только зарегистрированные пользователи. ]();
                    recoursiveDir('unpacked');
            foreach ($allfiles as $key=>$val){
                $zip->addFile($val);
            }
            $zip->close();
                    //указываем в заголовках тип передаваемых данных: архив zip
                    [Ссылки могут видеть только зарегистрированные пользователи. ]('Content-type: application/zip; name=ziparchive.zip');
                    //отдаём файл архива
                    echo [Ссылки могут видеть только зарегистрированные пользователи. ]('unpacked/archive.zip');
        }else{
            echo 'Ошибка! Невозможно создать архив!';
        }
    }else{
        echo '
                <form method="GET" action="?">
                    <input type="radio" name="act" value="unzip" /> Распаковать
     
     
                    <input type="radio" name="act" value="zip" /> Запаковать
     
     
                    Введите имя архива (для распаковки предварительно загрузив его на сервер):
                    <br /><input type="text" name="filename" value="" />
                    <br /><input type="submit" value="Выполнить" />
                </form>
            ';
    }
     
     
    //эта функция рекурсивно обходит все папки и составляет список файлов
    //результат её работы можете посмотреть, вывев var_dump($allfiles) после её вызова
    function recoursiveDir($dir){
        global $allfiles;
        if ($files = [Ссылки могут видеть только зарегистрированные пользователи. ]($dir.'/*')){
            foreach($files as $file){
                if ([Ссылки могут видеть только зарегистрированные пользователи. ]($file)){
                    recoursiveDir($file);
                }else{
                    $allfiles[]    =   $file;
                }
            }
        }
    }
    Более подробно можно почитать на сайте автора: [Ссылки могут видеть только зарегистрированные пользователи. ]
    Ответить с цитированием  
     

  3. Пользователь сказал cпасибо:

    FINESTGOL (17.11.2011)

  4. #3  
    Новичок
    Регистрация
    17.11.2011
    Адрес
    СПБ
    Сообщений
    22
    Сказал(а) спасибо
    3
    Поблагодарили 0 раз(а) в 0 сообщениях
    Спасибо! Посмотрим что тут у нас из этого выйдет...
    Ответить с цитированием  
     

  5. #4  
    Новичок
    Регистрация
    17.11.2011
    Адрес
    СПБ
    Сообщений
    22
    Сказал(а) спасибо
    3
    Поблагодарили 0 раз(а) в 0 сообщениях
    Нашёл такую штуку! Переписал под себя=) только вот я что-то не пойму как сделать чтобы он с моего фтп скачивал при нажатии на название файла из выводимого списка?
    HTML Code:
    1. <[Ссылки могут видеть только зарегистрированные пользователи. ] type="text/javascript" src="js/jquery-1.2.6.pack.js"></[Ссылки могут видеть только зарегистрированные пользователи. ]>
    2. <[Ссылки могут видеть только зарегистрированные пользователи. ] type="text/javascript" src="js/scripts.js"></[Ссылки могут видеть только зарегистрированные пользователи. ]>
    3.  
    4.  
    5. <?php
    6.  
    7. $dir = 'files';
    8. $scan = scandir($dir);
    9.  
    10. for ($i = 0; $i<count($scan); $i++) {
    11.  
    12. if ($scan[$i] != '.' && $scan[$i] != '..') {
    13. if (strpos($scan[$i], '.mp3') !== false) {
    14. echo '
    15. <li>
    16. <a="' . $featured_dir . $scan[$i] . '">
    17. <[Ссылки могут видеть только зарегистрированные пользователи. ] src="' . $dir . $scan[$i] . '" alt="' . $scan[$i] . '" />
    18. </[Ссылки могут видеть только зарегистрированные пользователи. ]>
    19. </[Ссылки могут видеть только зарегистрированные пользователи. ]>';
    20. }
    21. }
    22. };
    23. ?>
    24. </[Ссылки могут видеть только зарегистрированные пользователи. ]>
    25. </[Ссылки могут видеть только зарегистрированные пользователи. ]><!--container-->
    Ответить с цитированием  
     

  6. #5  
    Гуру Аватар для Konstantin Shcherba
    Регистрация
    08.11.2010
    Сообщений
    1,336
    Сказал(а) спасибо
    26
    Поблагодарили 139 раз(а) в 107 сообщениях
    Записей в блоге
    1
    Этот скрипт судя по всему выводит список картинок из директории files со ссылками на самих себя. Все файлы считаются картинками, кроме тех, у которых расширение .mp3.

    Что подрузомевается под скачиванием? Нужно что бы при нажатии на картинку выдавался запрос на сохранение файла?
    Ответить с цитированием  
     

  7. #6  
    Новичок
    Регистрация
    17.11.2011
    Адрес
    СПБ
    Сообщений
    22
    Сказал(а) спасибо
    3
    Поблагодарили 0 раз(а) в 0 сообщениях
    Цитата Сообщение от admin Посмотреть сообщение
    Этот скрипт судя по всему выводит список картинок из директории files со ссылками на самих себя. Все файлы считаются картинками, кроме тех, у которых расширение .mp3.

    Что подрузомевается под скачиванием? Нужно что бы при нажатии на картинку выдавался запрос на сохранение файла?
    Изначально это был ротатор изображений. Да нужно чтобы производилось скачивание.
    Ответить с цитированием  
     

  8. #7  
    Профи Аватар для Кертис
    Регистрация
    17.11.2011
    Сообщений
    105
    Сказал(а) спасибо
    1
    Поблагодарили 9 раз(а) в 9 сообщениях
    Почему бы не сделать так?
    PHP Code:
    1.   $files = [Ссылки могут видеть только зарегистрированные пользователи. ]($dir);    
    2.          [Ссылки могут видеть только зарегистрированные пользователи. ]($files);
    3.          [Ссылки могут видеть только зарегистрированные пользователи. ]($files);
    4.          for($i=0; $i<[Ссылки могут видеть только зарегистрированные пользователи. ]($files); $i++) {
    5. echo '<a href="'.$dir.$files[$i].'" >'.$files[$i].'</a><br>';
    6.    }

    Если надо качать картинки, так еще херануть тогда и header, чтобы они скачивались вместо открытия.
    Последний раз редактировалось Кертис; 17.11.2011 в 03:21.
    Ответить с цитированием  
     

  9. Пользователь сказал cпасибо:

    FINESTGOL (17.11.2011)

  10. #8  
    Гуру Аватар для Konstantin Shcherba
    Регистрация
    08.11.2010
    Сообщений
    1,336
    Сказал(а) спасибо
    26
    Поблагодарили 139 раз(а) в 107 сообщениях
    Записей в блоге
    1
    Тоже предлагаю поменять Header, например на такой:

    Код php:
    [Ссылки могут видеть только зарегистрированные пользователи. ]("Content-Disposition: attachment; filename=имя_файла");
    [Ссылки могут видеть только зарегистрированные пользователи. ]("Content-Type: application/x-force-download; name=\"имя_файла\"");
    Ответить с цитированием  
     

  11. #9  
    Профи Аватар для Кертис
    Регистрация
    17.11.2011
    Сообщений
    105
    Сказал(а) спасибо
    1
    Поблагодарили 9 раз(а) в 9 сообщениях
    Может вместо application лучше вставить mime_content_type($filename), а то начнутся в осле приколы.
    Ответить с цитированием  
     

  12. #10  
    Новичок
    Регистрация
    17.11.2011
    Адрес
    СПБ
    Сообщений
    22
    Сказал(а) спасибо
    3
    Поблагодарили 0 раз(а) в 0 сообщениях
    Спасибо! Но, я настолько тугой, что нечего из этого не понял. Хотя если кто-нибудь объяснит куда мне все эти ваши строки вписывать, то я буду вдвойне благодарен.
    Ответить с цитированием  
     

Страница 1 из 2 12 ПоследняяПоследняя
Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Выделение всех сообщений в диалоговом окне контакта.
    от Vladislav в разделе Общие вопросы программирования
    Ответов: 1
    Последнее сообщение: 15.01.2013, 16:36
  2. Проигрование Wav-файлов на QBASIC'e
    от Kakos_nonos в разделе Разработки на QBasic
    Ответов: 14
    Последнее сообщение: 27.08.2012, 20:53
  3. Ответов: 0
    Последнее сообщение: 21.01.2012, 22:58
  4. Ввод-вывод
    от Dispetcher14 в разделе QBasic
    Ответов: 5
    Последнее сообщение: 20.05.2011, 17:58
  5. Ответов: 2
    Последнее сообщение: 30.12.2010, 16:43
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •