Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26

Discussione: funzioni FTP

  1. #1
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392

    funzioni FTP

    Ciao raga, in questa pillola vorrei spiegare come utilizzare le funzioni FTP, perchè molto utili a chi non ha un client FTP e non ha la minima intenzione di scaricarlo...
    Annuncio che troverete una breve descrizione dei comandi ftp all'interno degli script che posterò in seguito. Allora... cominciamo con uno script che ci spighi + o - la connessione al server:
    Codice PHP:
    <?
    /* Connessione al server ftp */
    $ftp_host 'ftp.miosito.it';
    $connect ftp_connect($ftp_host) or die("Si è verificato un errore durante la connessione al server ftp");
    /* login al server ftp */
    $username 'pater';
    $pwd 'changeme';
    $login ftp_login($connect$username$pwd) or die("Si è verificao un errore durante l'accesso al server ftp");
    /* chiusura connessione al server ftp */
    ftp_quit($connect) or die("Si è verificato un errore durante la chiusura della connessione al server ftp");
    ?>
    Così ci connettiamo al server ftp, effettuo il login, e chiudo la connessione: questo esempio non stamperà niente, a parte gli eventuali messaggi di errore.
    Ora passiamo alle operazioni relative ai files di un server ftp: Inserimento, Recupero e Cancellazione. Ovviamente per eseguire queste operazioni bisogna essere loggati al server.
    In questo script spiegherò come eseguire queste operazioni:
    Codice PHP:
    /* INSERIMENTO DI UN FILE */
    $destination_file "ftp.miosito.it/file.exe";
    $source_file "c:/binary_file.exe";
    /* alla fine di ftp_put bisogna mettere il tipo di file da inserire, che può essere FTP_BINARY o FTP_ASCII */
    ftp_put($connect$destination_file$source_fileFTP_BINARY) or die("Errore durante l'upload del file $source_file nel server ftp");
    /* RECUPERO DI UN FILE */
    $destination_file "c:/text.txt";
    $source_file "ftp.miosito.it/ascii_file.txt";
    ftp_get($connect$destination_file$source_fileFTP_ASCII) or die("Errore durante il recupero del file dal server ftp");
    /* CANCELLAZIONE DI UN FILE */
    $file_to_del "ftp.miosito.it/file.exe";
    ftp_delete($connect$file_to_del) or die("Errore durante la cancellazione del file dal server ftp"); 
    Qui viene usata la var $connect come chiave primaria di ogni funzione, infatti essa è indispensabile e contiene la connessione al server ftp.
    Per i più curiosi metto qui alcune funzioni ftp che servono a: dare la dimensione di un determinato file, restituire la data dell'ultima modifica di un dato file, settare i permessi ad un file sul server, rinominare un file sul server ftp.
    Codice PHP:
    /* DARE LA DIMENSIONE DI UN FILE */
    $file "ftp.miosito.it/file.txt";
    $size ftp_size($connect$file);
    /* RESTITUIRE LA DATA DELL'ULTIMA MODIFICA DI UN FILE */
    $file "ftp.miosito.it/file.txt";
    $date ftp_mdtm($connect$file);
    /* SETTARE I PERMESSI AD UN FILE */
    $file "ftp.miosito.it/file.txt";
    ftp_chmod($connect0777$file);
    /* RINOMINARE UN DETERMINATO FILE */
    $file_da_rinominare "ftp.miosito.it/file.exe";
    $file_rinominato "ftp.miosito.it/file_abc.exe";
    ftp_rename($connect$file_da_rinominare$file_rinominato); 
    Dò una precisazione: NON SONO SICURO CHE $FILE_RINOMINATO DEBBA CONTENERE ANCHE LA PATH DEL FILE. Quindi, chi lo sappia è pregato di precisarmi, questo perchè non ho trovato niente in riferimento a questo mio dubbio...
    Allora, dopo aver scritto tutte le funzioni relative ai files, è l'ora delle directories. Spiegherò, qui in seguito, come: creare una directory sul server ftp, eliminare una directory dal server ftp, e ricevere un'elenco dettagliato dei files presenti in una directory.
    Codice PHP:
    /* CREARE UNA DIRECTORY */
    $dir "ftp.miosito.it/directory/";
    ftp_mkdir($connect$dir);
    /* ELIMINARE UNA DIRECTORY */
    $dir "ftp.miosito.it/directory/";
    ftp_rmdir($connect$dir);
    /* RICEVERE UN'ELENCO DETTAGLIATO DEI FILES IN UNA DIR */
    $dir "ftp.miosito.it/directory/";
    ftp_rawlist($connect$dir); 
    Ricordo che ftp_rawlist restituisce un array, e quindi deve essere trattato come tale.
    Un'ultima funzione prima di andare, tanto inutile quanto utile: Restituire l'identificatore del tipo di sistema del server FTP remoto.
    Codice PHP:
    $systype ftp_systype($connect); 
    Ok... Ora ho davvero finito... Spero di avervi chiarito i vostri dubbi, o di avervi insegnato ad usare le funzioni ftp con php... Ora vi devo lasciare. Se avete ancora problemi con queste funzioni, non avete che da postare!!!
    Ciauz...

  2. #2
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    beh PaTeR sei in vena di pillole? :gren:
    ho un problema: devo effettuare il login a un FTP più volte; non esiste però la funzione ftp_logout() quindi sono costretto a disconnettermi completamente dal server?

  3. #3
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da web ces
    beh PaTeR sei in vena di pillole? :gren:
    ho un problema: devo effettuare il login a un FTP più volte; non esiste però la funzione ftp_logout() quindi sono costretto a disconnettermi completamente dal server?
    Penso proprio di si... Stavo guardando ankio, e mi è sembrato strano che non ci siano funzioni di logout... Se le trovo le posto ok?

  4. #4
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    corrisponderebbe al comando 'REIN' fatto da telnet, ma non c'è neanche una funzione che invia un comando (che basterebbe da sola per tutto...)

  5. #5
    si sta perdendo il significato di pillola... questo è un semplice thread con le stesse definizioni che si possono trovare sul manuale


    riporto in seguito la definizione giusta di cosa sia una pillola (visto che l'idea è stata mia lo saprò :quipy: )

    "Riprongo qui l'esperimento che ho fatto sul forum html quando lo frequentavo: LE PILLOLE.

    LE PILLOLE sono una sorta di mini tutorial in cui, qualche anima pia , decide di discutere degli argomenti più trattati in modo che i thread possano diventare utili per eventuali domande sullo stesso argomento.
    Non vuole essere in nessun modo un'occasione per mettersi in mostra (anche perchè io ho imparato ieri a fare i form in php e poi su questo forum siamo tutti amicici ) ma, più che altro, LE PILLOLE potrebbero diventare un punto di riferimento per tutti senza dover spiegare sempre le stesse cose.

    Chiunque può fare una pillola... non ci sono regole se non quella di andare un po' più a fondo del semplice COPIA/INCOLLA del codice... quindi: bubu 77, metallica, skidx, fabio, gm, caciara, boom boom e tutti gli altri fatevi sotto"

    te lo ripeto ancora una volta pater (ed è l'ultima): non sei obbligato ad essere così attivo sul forum. chi ha orecchie per intendere intenda.
    w la topa

  6. #6
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da web ces
    corrisponderebbe al comando 'REIN' fatto da telnet, ma non c'è neanche una funzione che invia un comando (che basterebbe da sola per tutto...)
    bah... possiamo sempre farla noi... no?
    Codice PHP:
    function ftp_re-connect() {
    global 
    $connect;
    global 
    $user;
    global 
    $pwd;
    $ftp_quit($connect);
    $connect ftp_connect($host);
    ftp_login($connect$user$pwd);


  7. #7
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da saibal
    si sta perdendo il significato di pillola... questo è un semplice thread con le stesse definizioni che si possono trovare sul manuale


    riporto in seguito la definizione giusta di cosa sia una pillola (visto che l'idea è stata mia lo saprò :quipy: )




    te lo ripeto ancora una volta pater (ed è l'ultima): non sei obbligato ad essere così attivo sul forum. chi ha orecchie per intendere intenda.
    Beh, se intendi dire cho ho copiato tutto dal manuale ti sbagli di grosso...
    Qui ho solo spiegato come si utilizzano le funzioni ftp, nel caso non fosse ancora chiaro... Non penso che sia inutile, ma se tu lo pensi sei libero di cancellare questo thread...

  8. #8
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    credo che sia sconveniente per il tempo che ci mette, no?

    p.s.
    puoi mettere un solo global:
    global $connect, $user, $pass;

  9. #9
    Originariamente inviato da PaTeR
    Beh, se intendi dire cho ho copiato tutto dal manuale ti sbagli di grosso...
    Qui ho solo spiegato come si utilizzano le funzioni ftp, nel caso non fosse ancora chiaro... Non penso che sia inutile, ma se tu lo pensi sei libero di cancellare questo thread...
    non l'ho mica cancellato :quipy:

    non fare la vittima per favore
    w la topa

  10. #10
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da saibal
    non l'ho mica cancellato :quipy:

    non fare la vittima per favore
    cosa intendevi dire con quel tuo post?
    Forse ho fainteso io (e lo spero veramente)

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 © 2025 vBulletin Solutions, Inc. All rights reserved.