Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Ftp con php non mi riesce

    utilizzo questo codice per cercare di trasferire immagini da un terzo livello al livello principale
    Codice PHP:
        //Apro una connessione FTP che mi restituisce un id
        
    $id_connessione ftp_connect($server,21);
        
        
    //Effetto l'autenticazione con i dati precedentemente impostati
        
    $login ftp_login($id_connessione$username$password);

        
    //A questo punto occorre effettuare l'effettivo upload dei file:
        
    $file_originale 'C:\file.jpg';
        
    $file_destinazione 'test.jpg;     
        
    //ftp_pasv($resource, true);
        
    if (ftp_chdir($id_connessione, "/cartellaLivelloPRincipale/testFTP")) 
    {
        echo "Current directory is now: " . ftp_pwd($id_connessione) . "\n";
    } else { 
        echo "Couldn'
    t change directory\n";
    }

    if (ftp_site(
    $id_connessione, 'CHMOD 0755 /cartellaLivelloPRincipale/testFTP')) 
    {
       echo "
    Comando eseguito correttamente.\n";

       
    $invia = ftp_put($id_connessione$file_destinazione$file_originale, FTP_BINARY);     

        echo (!
    $invia) ? 'Upload fallito' : 'Upload completato';
        echo '
    ';
    } else {
       die('Errore nella esecuzione del comando.');
    }


    ftp_close(
    $connessione); 
    non ci sono versi di passare il file. Non si upload assolutamente.

    a) la connessione avviene correttamente, infatti
    b) riesco a cambiare la directory con ftp_chdir e...
    c) l'ftp_site mi restituisce "Comando eseguito correttamente" ma
    d) ftp_put sempre e solo "upload fallito"

    Cosa sbaglio?
    ---------------------------
    danielix05

  2. #2

    SOLUZIONE INDIVIDUATA

    Posto la soluzione al mio problema.

    La soluzione è di mettere in una collocazione temporanea il file in upload.
    Ho sistemato queste due righe e tutto funziona perfettamente.

    Codice PHP:
    $file_originale $_FILES['img']['tmp_name'];
    $file_destinazione $_FILES['img']['name']; 
    quindi lo script completo

    Codice PHP:
        $id_connessione ftp_connect($server,21);
        
    $login ftp_login($id_connessione$username$password);

        
    $file_originale $_FILES['img']['tmp_name'];
        
    $file_destinazione $_FILES['img']['name'];
        
    if (
    ftp_chdir($id_connessione"/public")) {
        echo 
    "La cartella di destinazione è: " ftp_pwd($id_connessione) . "
    \n"
    ;

        
    $invia ftp_put($id_connessione$file_destinazione$file_originaleFTP_BINARY);     

        echo 
    "

    [b]"
    ;
        echo (!
    $invia) ? 'Upload fallito :-(' 'Upload completato!';
        echo 
    '[/b]</p>';

    } else { 
        echo 
    "Non &egrave; possibile accedere in questa cartella "ftp_pwd($id_connessione) ."\n";
    }

    ftp_close($connessione); 
    ---------------------------
    danielix05

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.