Forum Webscript.Ru

Программирование => PHP => Тема начата: ferryman от 27 Марта 2006, 15:47:21

Название: вопрос по ftp
Отправлено: ferryman от 27 Марта 2006, 15:47:21
Пишу код:




    $dir = (isset($_GET[\'dir\']) && $_GET[\'dir\'] != "%")?$dir = $_GET[\'dir\']:$dir = "/";
        $dir = str_replace("%", "/", $dir);

$dirraw = ftp_rawlist($connect,$dir);

for($i=0; $i          $array = preg_split("/[\\s]+/", $dirraw[$i]);

$link_name = $array[8];

$url = ($dir != "/")?str_replace(\'/\', \'%25\', $dir."/".$link_name):str_replace(\'/\', \'%25\', $dir.$link_name);

if(substr($array[0], 0, 1) == \'d\'){
      $link = \'\'.$link_name.\'\';
      $name = \'Каталог\';
      }else{
      $link = \'\'.$link_name.\'\';
      $name = \'Файл\';
        }
}

 

Когда в названии директории или в названии файла встречается пробел скрипт выводит только то что до пробела. Как исправить енто?
Название: вопрос по ftp
Отправлено: hanslinger от 27 Марта 2006, 15:54:22
А почему \'/\' заменяется на %25, а пробел на %20 — нет?
[p]urlencode[/p]
Название: вопрос по ftp
Отправлено: for_i_0 от 27 Марта 2006, 15:54:57
Цитировать
ferryman:
$url = ($dir != "/")?str_replace(\'/\', \'%25\', $dir."/".$link_name):str_replace


$url = ($dir != "/")?str_replace(\'/\', \'\', $dir."/".$link_name):str_replace
Название: вопрос по ftp
Отправлено: ferryman от 27 Марта 2006, 16:11:27
Да не в этом дело как я формирую ссылки - дело в том что имена каталогов и файлов с пробелами обрезает

напр. dir name выводит dir до пробела
Название: вопрос по ftp
Отправлено: ferryman от 27 Марта 2006, 16:47:13
В принципе траблу нашел


$array = preg_split("/[\\s]+/", $dirraw[$i]);

$link_name = $array[8]." ".$array[9]." ".$array[10]." ".$array[11]." ".$array[12]." ".$array[13];

Тоесть, чтото надо придумать...