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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2012, 19:42   #1
Sprat
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 54
По умолчанию Чтение каталога FTP

Произвожу чтение FTP каталога и собираю все данные в массив, потом пытаюсь этот массив разбить на значения, для разделения информации

PHP код:
  list($acc$bloks$group$user$size$month$day$year$file) = preg_split("/[\s]+/"$file); 
Все значения выводятся хорошо, а вот если в имени файла содержится пробел, то отображается только первое слово из названия. Как это исправить


Либо подскажите как разбить массиив после определённого пробела

Последний раз редактировалось Sprat; 28.03.2012 в 19:54.
Sprat вне форума Ответить с цитированием
Старый 28.03.2012, 20:17   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Все фрагменты данных разделены именно 1-м пробелом?
Посмотреть бы весь код чтения каталога...
Andkorol вне форума Ответить с цитированием
Старый 28.03.2012, 20:23   #3
Sprat
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 54
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Все фрагменты данных разделены именно 1-м пробелом?
Посмотреть бы весь код чтения каталога...

PHP код:
$link ftp_connect($ftp_server); 
scan_ftp($link$dir);

 function 
scan_ftp($link$size
  { 
    GLOBAL 
$filename
    
$file_list ftp_rawlist($link$dir); 
     foreach(
$file_list as $file
    { 
       list(
$acc$bloks$group$user$size$month$day$year$file) = preg_split("/[\s]+/"$file); 
В итоге получается вот такой массив:

[7]=> string(124) "-rw-rw-rw- 1 user group 50823168 Mar 25 17:47 Astrada - Like an Ocean (Supremos Porn Edit)_[www.technoclips.ru].avi
Sprat вне форума Ответить с цитированием
Старый 28.03.2012, 20:47   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

В мануале нашел такое решение.
Собственно - полезен этот момент в коде:
PHP код:
$rawlist = array();
$ftp_rawlist ftp_rawlist($ftp_connect".");
  foreach (
$ftp_rawlist as $v) {
    
$info = array();
    
$vinfo preg_split("/[\s]+/"$v9);// это!
    
if ($vinfo[0] !== "total") {
      
$info['chmod'] = $vinfo[0];
      
$info['num'] = $vinfo[1];
      
$info['owner'] = $vinfo[2];
      
$info['group'] = $vinfo[3];
      
$info['size'] = $vinfo[4];
      
$info['month'] = $vinfo[5];
      
$info['day'] = $vinfo[6];
      
$info['time'] = $vinfo[7];
      
$info['name'] = $vinfo[8];
      
$rawlist[$info['name']] = $info;// общий массив результатов
    
}
  } 
Вкратце - preg_split с лимитом делит строку на 9 частей, возвращая весь остаток в последнем фрагменте - что вам и нужно (это и будет полное имя файла).
Andkorol вне форума Ответить с цитированием
Старый 28.03.2012, 21:32   #5
Sprat
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 54
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
В мануале нашел такое решение.
Собственно - полезен этот момент в коде:
PHP код:
$rawlist = array();
$ftp_rawlist ftp_rawlist($ftp_connect".");
  foreach (
$ftp_rawlist as $v) {
    
$info = array();
    
$vinfo preg_split("/[\s]+/"$v9);// это!
    
if ($vinfo[0] !== "total") {
      
$info['chmod'] = $vinfo[0];
      
$info['num'] = $vinfo[1];
      
$info['owner'] = $vinfo[2];
      
$info['group'] = $vinfo[3];
      
$info['size'] = $vinfo[4];
      
$info['month'] = $vinfo[5];
      
$info['day'] = $vinfo[6];
      
$info['time'] = $vinfo[7];
      
$info['name'] = $vinfo[8];
      
$rawlist[$info['name']] = $info;// общий массив результатов
    
}
  } 
Вкратце - preg_split с лимитом делит строку на 9 частей, возвращая весь остаток в последнем фрагменте - что вам и нужно (это и будет полное имя файла).
БОЛЬШОЕ СПАСИБО!!!!
Sprat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c# удаление каталога world12_tk Помощь студентам 12 08.01.2011 11:29
Бликировка каталога zumm Общие вопросы Delphi 1 27.03.2010 12:51
Чтение корневого каталога с дискеты alien9356 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 12.06.2009 17:22
Чтение, чтение и еще раз чтение Alex Cones Общие вопросы Delphi 3 07.06.2009 15:28
картинки из каталога Var17 PHP 2 06.03.2008 22:05