Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как вывести файлы с FTP?

Сообщения:  [1-10]   [11-11] 

 
 автор: Zew   (05.11.2005 в 14:36)   письмо автору
 
   для: cheops   (04.11.2005 в 17:10)
 

Пасибочки, очень полезная функция. =)

   
 
 автор: cheops   (04.11.2005 в 17:10)   письмо автору
 
   для: Zew   (04.11.2005 в 13:50)
 

> Сейчас
>осталось только найти, как размер файлов не в байтах, а в
>мегобайтах отобразить... *_*
Так разделите на 1024*1024...
<?php
echo getfilesize('имя_файла');
// функция определения размера файла
function getfilesize($filename)
{
  
// Проверяем существует ли файл
  
if(!file_exists($filename)) return "файл не существует";
  
// определяем размер файла
  
$filesize filesize($filename);
  
// Если размер файл превышает 1024 байта
  // пересчитываем размер в Кб
  
if($filesize 1024)
  {
    
$filesize = (float)($filesize/1024);
    
// Если размер файл превышает 1024 Кбайта
    // пересчитываем размер в Мбайты
    
if($filesize 1024)
    {
      
$filesize = (float)($filesize/1024);
      
// Округляем дробную часть до
      // первого знака после запятой
      
$filesize round($filesize1);
      return 
$filesize." Мб";
    }
    else
    {
      
// Округляем дробную часть до
      // первого знака после запятой
      
$filesize round($filesize1);
      return 
$filesize." Кб";
    }
  }
  else
  {
    return 
$filesize." байт";
  }
}
?>

   
 
 автор: Zew   (04.11.2005 в 13:50)   письмо автору
 
   для: cheops   (04.11.2005 в 13:06)
 

Не-а, не выводится. Точнее, не выводилось. Я уже приспособилась использовать opendir и readdir. ;) Сейчас осталось только найти, как размер файлов не в байтах, а в мегобайтах отобразить... *_*

   
 
 автор: cheops   (04.11.2005 в 13:06)   письмо автору
 
   для: Zew   (03.11.2005 в 23:32)
 

Укажите вместо полного пути - текущую директорию "." - что-нибудь выводится?

   
 
 автор: Zew   (04.11.2005 в 13:06)   письмо автору
 
   для: Zew   (04.11.2005 в 01:58)
 

Тьфу, уже разобралась - оказывается, надо было пассивный режим отключить, спейсвеб с ним не работает... *_*

   
 
 автор: Zew   (04.11.2005 в 11:49)   письмо автору
 
   для: mistersmak   (04.11.2005 в 02:05)
 

Мдя, видимо это у spaceweb какие-то проблемы - не работает даже скаченный с сайта этого форума FTPmanager. =(

   
 
 автор: Zew   (04.11.2005 в 10:57)   письмо автору
 
   для: mistersmak   (04.11.2005 в 02:05)
 

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

   
 
 автор: mistersmak   (04.11.2005 в 02:05)   письмо автору
 
   для: Zew   (04.11.2005 в 01:58)
 

Самое интересное что именно с указание порта у меня ничего не пашет =)
А там у вас в указанной директории точно что-то есть? Может она пуста?
Скрипты которые я привел у меня работают оба.

   
 
 автор: Zew   (04.11.2005 в 01:58)   письмо автору
 
   для: mistersmak   (04.11.2005 в 00:45)
 

//$port = "21"; - писать порт 21 необязательно писать - он стит по умолчанию(в книге написано =)
А у меня без него почему-то не коннектит... =( Пусть лучше висит, он вроде не мешает. ))
Вроде должно работать =)
Угу, должно бы... Но не работает... =(( По-моему что-то с этим foreach($file_list as $file) что-то не так - он всегда пустым оказывается.

   
 
 автор: mistersmak   (04.11.2005 в 00:45)   письмо автору
 
   для: Zew   (03.11.2005 в 23:32)
 


<?
 $host
="host";
 
$user="login";
 
$pass="password";
 
set_time_limit(180);
 @
$conn ftp_connect($host);
 if(!
$conn) { echo "<center><b>Не удалось соединиться!</b><br>"; }
 @
$regi ftp_login($conn$user$pass);
 if(
$conn && !$regi) { echo "<center><b>Не удалось зарегистрироваться!</b><br>"; }
//-------------------------------------------------------------------------
 
if(isset($_GET['folder']) && $_GET['folder'] != "%"$folder $_GET['folder'];
 else 
$folder "/";
 
$folder str_replace("%""/"$folder);
 
$folder $folder."files/";
 @
$file_list ftp_rawlist($conn$folder);
 if(!empty(
$file_list))
  {
   foreach(
$file_list as $file)
    {
     list(
$acc$bloks$group$user$size$month$day$year$file) = preg_split("/[\s]+/"$file);
     if(
substr($acc01) != 'd')
      {
        echo 
"$acc$bloks$group$user$size$month$day$year$file";
      }
    }
  }
?>

А вот ваш вариант(переделанный цуть-цуть)

<?
$host 
"host";
//$port = "21"; - писать порт 21 необязательно писать - он стит по умолчанию(в книге написано =))
$user "login";
$pass "password";
$connect ftp_connect($host);
if(!
$connect) { echo "ошибка соединения"; }
$logon ftp_login($connect$user$pass);
if(!
$logon) { echo "ошибка регистрации"; }
$file_list ftp_nlist($connect"files/");
if(!empty(
$file_list))
 { 
  foreach(
$file_list as $file)
   {
    echo(
"$file <br>");
   }
 }
?>

Вроде должно работать =)

   

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования