Visualizzazione dei risultati da 1 a 5 su 5

Discussione: ftp download

  1. #1

    ftp download

    Ciao a tutti,

    mi sto cimentando con l'upload di file via ftp con php e non ho incontrato problemi se non questo:

    come posso permettere all'utente del mio sito di selezionare un file e caricarlo via ftp su un server predefinito?

    Siccome, per motivi di sicurezza, non è possibile vedere il path assoluto di un file selezionato in un input type="file" non vedo davvero quale possa essere la soluzione...

  2. #2
    Anche se non vedi il path assoluto del file sul pc di chi te lo invia, nessuno ti vieta di caricarlo sul server... non capisco, qual è il tuo problema?

    Tutto ciò che ti serve è un <input type="file"> (da cui l'utente seleziona il file da inviare) e un <input type="submit"> (per inviare la richiesta al server). A questo punto recuperi il file dalla variabile superglobale $_FILES, e puoi usare la funzione move_uploaded_file() per salvarlo dove vuoi tu

  3. #3
    Il mio obiettivo è quello di trasferire un file via ftp da un pc client ad un server qualsiasi, il fatto di caricarlo sul mio server per poi trasferirlo via ftp da un'altra parte mi sembra un passaggio superfluo e che rallenta parecchio l'operazione in caso di files molto grandi

  4. #4
    Se devi usare per forza il protocollo ftp allora questo è lo script che fa per te.

    Codice PHP:
    <?php
    // dati di connessione al server FTP
    $server 'ftp.mrwebmaster.it';
    $username 'username';
    $password 'password';

    // indichiamo all'applicazione il file locale da uploadare
    // e il suono nome nel percorso di destinazione
    $file 'file.txt';
    $percorso_ftp 'nuovo.txt';

    // connettiamoci al server FTP
    // generalmente in ascolto alla posta 21
    $connessione ftp_connect($server21
     or die (
    'Impossibile connettersi al server.');

    // autentichiamoci al server
    ftp_login($connessione$username$password
     or die(
    'Username o password errati.');

    // nel caso ce ne sia la necessità abilitiamo
    // il passive mode, 
    //diversamente potremo commentare la riga seguente
    ftp_pasv ($connessionetrue);

    // uploadiamo il file
    $invia ftp_put($connessione$percorso_ftp$fileFTP_ASCII);

    // notifica dell'esito dell'upload
    echo (!$invia) ? 'Upload fallito' 'Upload completato';
    echo 
    '
    '
    ;

    // questa funzione sostituisce ftp_chmod
    // per chi utilizza versioni di PHP inferiori alla 5
    if (!function_exists('ftp_chmod')) {
     function 
    ftp_chmod($invio_ftp$c_mode$nome_file){
      return 
    ftp_site
       
    (
       
    $invio_ftpsechof('CHMOD %o %s'$c_mode$nome_file)
       );
     }
    }

    // rendiamo il file scrivibile con il chmod 0666
    if (ftp_chmod($connessione0666$percorso_ftp) !== false) {
     echo 
    $percorso_ftp ' Permessi aggiornati correttamente';
     } else {
     echo 
    'Impossibile impostare i permessi su ' $file;
    }

    // chiudiamo la connessione al server FTP
    ftp_close($connessione);
    ?>
    Naturalmente nel tuo caso dovrai fare in modo che sia l'utente stesso a valorizzare le variabili $file e $percorso_ftp, magari utilizzando una <select>.


  5. #5
    Grazie per il suggerimento.

    Però appunto ho delle difficoltà a far valorizzare $file dall'utente senza obbligarlo ad inserire a mano il path completo

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.