예제 #1
0
function ftpFiles($id, $archivo, $destino)
{
    //die("ftpFiles: $id - $archivo -  $destino<br />");
    extract($GLOBALS);
    $aux = split("@", $destino);
    $dir_crops = $aux[0] . "/";
    $server = $aux[1];
    $dir_id = calcularCarpeta($id) . "/";
    $auxFile = pathinfo($archivo);
    $localFile = $auxFile["basename"];
    switch ($server) {
        case "USA":
            $dir_final = DIR_WP_USA;
            break;
        case "241":
            $dir_final = DIR_WP_241;
            break;
    }
    $remoteFilePath = "{$dir_final}{$dir_crops}{$dir_id}{$localFile}";
    print "{$dir_crops} - {$localFile} creado!<br />";
    //------------------ftp login---------------------------------------------------------------------------------
    $ftp = new Ftp($servers[$server][0], $servers[$server][1], $servers[$server][2]);
    if (!$ftp->login()) {
        error("No se pudo conectar al FTP: {$server}", false);
        limpiarCagadas($newId);
    }
    if (!$ftp->cambiarAcarpeta($dir_final . $dir_crops)) {
        if (!$ftp->crearCarpeta($dir_final . $dir_crops)) {
            error("No se pudo crear la carpeta: {$dir_final} . {$dir_crops}", false);
            limpiarCagadas($newId);
            die;
        }
        $ftp->cambiarAcarpeta($dir_final . $dir_crops);
    }
    if (!$ftp->cambiarAcarpeta($dir_id)) {
        if (!$ftp->crearCarpeta($dir_id)) {
            limpiarCagadas($newId);
            die("No se pudo crear la carpeta: " . $dir_final . $dir_crops . $dir_id);
        }
        $ftp->cambiarAcarpeta($dir_id);
    }
    if (!$ftp->subir($archivo, $localFile)) {
        print "no se pudo subir ({$archivo} a {$remoteFilePath} en {$server})\n";
        error("No se pudo subir {$archivo} a {$remoteFilePath} en {$server}", false);
        limpiarCagadas($newId);
        die;
    } else {
        @unlink($archivo);
        print $localFile . " subido a: {$server}!!<br />";
    }
    //$ftp->logout();
    //print "$remoteFilePath@$server@$destino <br />";
    $_SESSION['subidos'][] = "{$remoteFilePath}@{$server}@{$destino}";
}