die($ret->getMessage()); } printf('login as <b>%s</b><br />', $ftp['user']); // // 5. changes directory to final destination for upload operation // $ret = $f->cd($dest); if (PEAR::isError($ret)) { $f->disconnect(); die($ret->getMessage()); } // // 6. attachs an instance of the FTP/Progress subclass observer // $observer = new Observer_ProgressUpload($meter); $ok = $f->attach($observer); if (!$ok) { die('cannot attach a FTP Observer'); } // // 7. moves files on the FTP server // foreach ($files as $file) { $ret = $f->put($file, basename($file), $overwrite); if (PEAR::isError($ret)) { if ($ret->getCode() == NET_FTP_ERR_OVERWRITEREMOTEFILE_FORBIDDEN and !$overwrite) { printf('%s <br />', $ret->getMessage()); continue; // it is just a warning when \$overwrite variable is set to false } die($ret->getMessage());