скачивание файлов из директории

Тема в разделе "PHP", создана пользователем dotsenko, 14 июн 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. dotsenko

    dotsenko

    Регистр.:
    27 дек 2006
    Сообщения:
    233
    Симпатии:
    106
    есть демки файлы тоесть в главной директории нужен скрипт который будет показывать их в ряд и рядом будет кнопка или надпись скачать демку .dem файлы
     
  2. Jeurey

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576
    Кто тебя учил так выражаться? =)
    Еще раз и подробнее: как скачивать - по http или ftp?
     
  3. D@nil

    D@nil

    Регистр.:
    1 окт 2006
    Сообщения:
    338
    Симпатии:
    122
    расшифровать вопрос автора топика можно так:

    Нужен скрипт каторый выводит все файлы из папки. Со ссылками Скачать.
     
  4. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    737
    Симпатии:
    263
    Так эта... Включи директори листинг, убери index.htm из той папки - и вуаля. Давай людям ссылку на саму папку, по этой ссылке апач будет выдавать список файлов - с размерами, датой создания, и возможностью качать..

    Имхо самый простой путь, и никаких скриптов не надо.
     
  5. Yaggi Jah

    Yaggi Jah Постоялец

    Регистр.:
    15 ноя 2006
    Сообщения:
    75
    Симпатии:
    31
    PHP:
    <?php
    $url
    ='http://site.com/';
    $handle=opendir('dir/dir');
    while(
    false!==($file=readdir($handle))) {
        if(
    $file!='.' && $file!='..') {
            echo 
    $file.' <a href="'.$url.'dir/dir/'.$file.'">Скачать</a><br>';
        }
    }
    closedir($handle);
    ?>
     
  6. Jeurey

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576

    Да-да... особенно, если is_dir($file) вернет true +)
     
  7. freelancer_zp

    freelancer_zp Создатель

    Регистр.:
    4 май 2008
    Сообщения:
    12
    Симпатии:
    30

    PHP:
             /**
             * Recursive get filest into dir and subdirs
             *
             * @param string $directory
             * @return array
             *
             * // Example of use
             *        print_r(getFiles('.'));
             *
             */
            
    function getFiles($directory$bRecursive true,  $bReturnFullPath true,  $bReturnAllfalse) {


                    if(
    is_file($directory)) return false;
                    if(!
    is_dir($directory)) return false;

                    
    $directory rtrim($directory'\\/');

                    if(!
    is_dir($directory)) return false;
                    
    // Try to open the directory
                    
    if($dir opendir($directory)) {
                            
    // Create an array for all files found
                            
    $tmp = Array();
                            
    // Add the files
                            
    while($file readdir($dir)) {
                                    
    // Make sure the file exists
                                    
    if($file != "." && $file != ".." && $file[0] != '.') {
                                            
    // If it's a directiry, list all files within it

                                            
    if(is_dir($directory "/" $file))
                                            {
                                                    if(
    $bRecursive)
                                                    {
                                                            
    $tmp2 CDir::getFiles($directory "/" $file);
                                                            if(
    is_array($tmp2)) {
                                                                    
    $tmp array_merge($tmp$tmp2);
                                                            }
                                                    }
                                            } else {
                                                    if(
    $bReturnAll)
                                                    {
                                                            
    $arr_item = array('item'=>$file'fullitem'=>$directory .'/'$file'isFile'=>true);
                                                            
    array_push($tmp$arr_item);
                                                    }
                                                    else if (
    $bReturnFullPath)
                                                    
    array_push($tmp$directory "/" $file);
                                                    else
                                                    
    array_push($tmp$file);
                                            }
                                    }
                            }
                            
    // Finish off the function
                            
    closedir($dir);
                            return 
    $tmp;
                    }
                    return 
    false;
            }

     
  8. lobzik

    lobzik

    Регистр.:
    8 авг 2006
    Сообщения:
    311
    Симпатии:
    49
    Вот пример функции, котороя уходит в глубь папки и создает массив с путями до файлов
     
Статус темы:
Закрыта.