Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Download file remoti

  1. #1

    Download file remoti

    Ciao a tutti.
    sono nuovo e poco esperto di php.

    ciò premesso vengo al mio problema.
    ho una pagina php nella quale inserisco un url di un file che sta su un qualsiasi altro server http, e questa pagina, dovrebbe scarica il suddetto file in una cartella del server dove risiede.

    in pratica :

    SERVER HTTP <------------------ FILE SU ALTRO SERVER HTTP

    per fare ciò ho fatto una cosa del genere :

    Codice PHP:
    .....
    .....
                                           
    $contatore 1;
                        echo 
    "Inizio il download di : " $riga['file_path_remoto'];
                        
    set_time_limit(300);
                        
    //Percorso file remoto
                        
    $remotefile=$riga['file_path_remoto'];
                        
    //Cartella locale in cui copiare il file
                        
    $cartella="incoming/"// cartella dove mettere immagini
                        //apro il file remoto da leggere
                        
    $srcfile1 fopen("$remotefile""rb");
                        
    //prelevo il nome del file
                        
    $nomefile=basename($remotefile);
                        
    //apro il file in locale
                        
    if (!($fp1 fopen($cartella.$nomefile,"wb")));
                        
    //scrivo contenuto del file remoto, ora in temp file, in file locale
                        
    while ($contents fread$srcfile18192 )) {
                            
    fwrite$fp1$contentsstrlen($contents) );
                            echo 
    "

    $contatore++ . "</p>";
                        }
                        
    //chiudo i due files
                        
    fclose($srcfile1);
                        
    fclose($fp1); 
    Il problema è che vorrei che in primis l'output del contatore fosse immediato e non come accade che esce la lista di numeri alla fine, in secondo luogo mi piacerebbe che l'utente possa anche chiudere la finestra ed il download proceda comunque in background.

    Qualcuno può aiutarmi ?

  2. #2
    Se lo vuoi fare nella stessa chiamata HTTP (e non tramite Ajax e simili) dipende dal web server se puoi ottenere il risultato che chiedi.

    Disabilita l'output buffer ed utilizza http://www.php.net/flush e/o http://www.php.net/ob_flush

  3. #3
    ok grazie.
    solo non capisco come funzionino......
    potresti farmi un esempio....

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.