Проблеима с рекурсивной функцией для заливки папки по ftp

Redwind

Новичок
Проблеима с рекурсивной функцией для заливки папки по ftp

Такая задача: необходимо по ftp отправить папку с вложенными папками и файлами. Здесь нашел рекурсивную функцию, но работает она неправильно
При попытки заливки папки на хост в папку $ftproot = "/www/htdocs"; выскакивают ошибки:
PHP:
Warning: ftp_chdir() [function.ftp-chdir]: /www/htdocs/folder/: No such file or directory in w:\home\localhost\www\ftp.php on line 15
Warning: ftp_mkdir() [function.ftp-mkdir]: /www/htdocs/folder/: Disc quota exceeded in w:\home\localhost\www\ftp.php on line 17
Warning: ftp_chdir() [function.ftp-chdir]: /www/htdocs/folder/: No such file or directory in w:\home\localhost\www\ftp.php on line 18
Warning: ftp_put() [function.ftp-put]: /www/htdocs/folder/file.php: No such file or directory in w:\home\localhost\www\ftp.php on line 29
Warning: ftp_put() [function.ftp-put]: /www/htdocs/folder/file1.php: No such file or directory in w:\home\localhost\www\ftp.php on line 29
Warning: ftp_put() [function.ftp-put]: /www/htdocs/folder/file2.php: No such file or directory in w:\home\localhost\www\ftp.php on line 29
При этом заливаются только файлы находящиеся в папке W:/home/localhost/www/files (W:/home/localhost/www/files/qwe.php, W:/home/localhost/www/files/вапвап.php), а вложенные папки не создаются на хосте

Для скрипта переменные выставляю таким образом:
PHP:
$ftproot = "/www/htdocs"; или $ftproot = "/www"
$srcroot = "W:/home/localhost/www/files";
$srcrela = "/";
А когда заливаю в папку $ftproot = "/www"; все нормально

PHP:
<?php
    // set the various variables
    $ftproot = "/public_html/test/";
    $srcroot = "/home/kristy/scripts/";       
    $srcrela = "iwm/";

    // connect to the destination FTP & enter appropriate directories both locally and remotely
    $ftpc = ftp_connect("ftp.mydomain.com");
    $ftpr = ftp_login($ftpc,"username","password");

    if ((!$ftpc) || (!$ftpr)) { echo "FTP connection not established!"; die(); }
    if (!chdir($srcroot)) { echo "Could not enter local source root directory."; die(); }
    if (!ftp_chdir($ftpc,$ftproot)) { echo "Could not enter FTP root directory."; die(); }

    // start ftp'ing over the directory recursively
    ftpRec ($srcrela);

    // close the FTP connection
    ftp_close($ftpc);

function ftpRec ($srcrela)
{
    global $srcroot;
    global $ftproot;
    global $ftpc;
    global $ftpr;
               
    // enter the local directory to be recursed through
    chdir($srcroot.$srcrela);
   
    // check if the directory exists & change to it on the destination
    if (!ftp_chdir($ftpc,$ftproot.$srcrela))
    {
        // remote directory doesn't exist so create & enter it
           ftp_mkdir    ($ftpc,$ftproot.$srcrela);
           ftp_chdir    ($ftpc,$ftproot.$srcrela);
    }

    if ($handle = opendir("."))
    {
       while (false !== ($fil = readdir($handle)))
       {
           if ($fil != "." && $fil != "..")   
           {
               // check if it's a file or directory
               if (!is_dir($fil))
               {   
                   // it's a file so upload it
                   ftp_put($ftpc, $ftproot.$srcrela.$fil, $fil, FTP_BINARY);
                }
                else
                {
                 ftpRec ($srcrela.$fil."/");
                 chdir ("../");                    
                }
          }
      }
      closedir($handle);
    }   
}
?>
Подскажите плиз в чем может быть причина?
 

neko

tеam neko
Warning: ftp_chdir() [function.ftp-chdir]: /www/htdocs/folder/: No such file or directory in w:homelocalhostwwwftp.php on line 15
Warning: ftp_mkdir() [function.ftp-mkdir]: /www/htdocs/folder/: Disc quota exceeded in w:homelocalhostwwwftp.php on line 17

ну типа место кончилось.

-~{}~ 05.04.07 13:40:

PHP:
    // check if the directory exists & change to it on the destination
    if (!ftp_chdir($ftpc,$ftproot.$srcrela))
    {
        // remote directory doesn't exist so create & enter it
           ftp_mkdir    ($ftpc,$ftproot.$srcrela);
-~{}~ 05.04.07 13:40:

скрипт кстати уродский!
 

Redwind

Новичок
Но при заливке в эту папку ($ftproot = "/www";) места вхатает слихвой
 
Сверху