Exemple #1
0
function ftp_upload(&$target, &$url)
{
    global $c_ftp, $ftp_enabled, $ftp_pwd, $ftp_host, $ftp_port, $ftp_user, $ftp_password, $ftp_timeout, $ftp_pasv, $ftp_ssl, $ftp_dir, $ftp_url, $authkey, $dir_userfile;
    if (!$ftp_enabled) {
        return;
    }
    if (empty($c_ftp->conn_id)) {
        $c_ftp = new cls_ftp();
        $c_ftp->mconnect($ftp_host, $ftp_user, authcode($ftp_password, 'DECODE', md5($authkey)), $ftp_dir, $ftp_port, $ftp_pasv, $ftp_timeout, $ftp_ssl);
        if (!$c_ftp->conn_id) {
            return 0;
        }
        $ftp_pwd = false;
    }
    $tmp = explode('/', $url);
    $count = count($tmp);
    $dest = $tmp[--$count];
    if (!$ftp_pwd && $count > 0) {
        $i = 0;
        $c_ftp->mchdir('/' != substr($ftp_dir, 0, 1) ? '/' . $ftp_dir : $ftp_dir);
        while ($i < $count) {
            if (!$c_ftp->mchdir($tmp[$i])) {
                $c_ftp->mmkdir($tmp[$i]);
                $c_ftp->mchmod(0777, $tmp[$i]);
                if (!$c_ftp->mchdir($tmp[$i])) {
                    return;
                }
                $c_ftp->mput('index.htm', M_ROOT . $dir_userfile . '/index.htm', FTP_BINARY);
                $c_ftp->mput('index.html', M_ROOT . $dir_userfile . '/index.html', FTP_BINARY);
            }
            $i++;
        }
        $ftp_pwd = true;
    }
    if (!$c_ftp->mput($dest, $target, FTP_BINARY)) {
        return 0;
    }
    @unlink($target);
    $url = '<!ftpurl />' . $url;
    return 1;
}