Vai al contenuto

Download lato server


Mang_

Messaggi raccomandati

Come faccio a far partire un download dal lato server?

Mi spiego meglio!

Ho una pagina con cartelle e sottocartelle e file tutti catalogati, sto creando uno script in perl che a comando mi comprima una cartella con tutte le sottocartelle poi da scaricare, come faccio a far partire il download dal server?

Grazie, Paolo!

ACSP dal 01/06/2011

ACTC dal 23/01/2012

Apple quasi mai inventa l'acqua calda.

La mette solo dentro ad un tubo che finisce con un innaffiatoio e rende più facile e bello farsi la doccia!

Link al commento
Condividi su altri siti

In che linguaggio? :ciao:

Se hai postato in Webmasters credo che tu voglia una pagina accessibile tramite http... in tal caso, niente di + facile. Tra i tag <head> aggiungi una riga:

<meta http-equiv="refresh" content="5; URL=http://tuoserver/tuacartella/tuofile.zip" />

Questa riga fara' partire il download del file tuofile.zip dopo 5 secondi dall'apertura della pagina. Siccome non tutti i browser sono capaci di fare questo, duplica l'informazione anche nel body:


Il download del file comincera' tra 5 secondi. Se non accade niente, [url="http://tuoserver/tuacartella/tuofile.zip"]clicca qui per cominciare il download[/url].

Ovviamente questo codice puo' anche essere creato "al volo", per esempio tramite php.

:D:D

Link al commento
Condividi su altri siti

Originally posted by Ce

In che linguaggio? :ciao:

Se hai postato in Webmasters credo che tu voglia una pagina accessibile tramite http... in tal caso, niente di + facile. Tra i tag <head> aggiungi una riga:

<meta http-equiv="refresh" content="5; URL=http://tuoserver/tuacartella/tuofile.zip" />

Questa riga fara' partire il download del file tuofile.zip dopo 5 secondi dall'apertura della pagina. Siccome non tutti i browser sono capaci di fare questo, duplica l'informazione anche nel body:


Il download del file comincera' tra 5 secondi. Se non accade niente, [url="http://tuoserver/tuacartella/tuofile.zip"]clicca qui per cominciare il download[/url].

Ovviamente questo codice puo' anche essere creato \"al volo\", per esempio tramite php.

:D:D

Io immaginavo uno script in perl che cliccandoci sopra ti compatta le sottocartelle e i file necessari e poi ti fà partire il download.

PHP non lo conosco, quindi mi risulterebbe un po' complicato, però sono aperto a qualsiasi soluzione!

ACSP dal 01/06/2011

ACTC dal 23/01/2012

Apple quasi mai inventa l'acqua calda.

La mette solo dentro ad un tubo che finisce con un innaffiatoio e rende più facile e bello farsi la doccia!

Link al commento
Condividi su altri siti

Originally posted by mang_

Io immaginavo uno script in perl che cliccandoci sopra ti compatta le sottocartelle e i file necessari e poi ti fà partire il download.

PHP non lo conosco, quindi mi risulterebbe un po' complicato, però sono aperto a qualsiasi soluzione!

Scusa ma mi mancano dei passaggi. L'utente come si collega al server? Stai parlando di un server web?

Link al commento
Condividi su altri siti

Originally posted by Ce+--><div class='quotetop'>QUOTE(Ce)</div>
<!--QuoteBegin-mang_

Io immaginavo uno script in perl che cliccandoci sopra ti compatta le sottocartelle e i file necessari e poi ti fà partire il download.

PHP non lo conosco, quindi mi risulterebbe un po' complicato, però sono aperto a qualsiasi soluzione!

Scusa ma mi mancano dei passaggi. L'utente come si collega al server? Stai parlando di un server web?[/b]

Si esatto! E' un web server

Ho una serie di cartelle e sottocartelle con dei file catalogati

Mi serve qualcosa che mi consenta di scaricare le sottocartelle o i file di una cartella senza andare a selezionarli uno per uno!

Pensavo ad uno script in perl che comprima cartelle e sottocartelle e che poi faccia partire il download del file compresso!

ACSP dal 01/06/2011

ACTC dal 23/01/2012

Apple quasi mai inventa l'acqua calda.

La mette solo dentro ad un tubo che finisce con un innaffiatoio e rende più facile e bello farsi la doccia!

Link al commento
Condividi su altri siti

Ah ok! Allora credo tu possa usare una combinazione di shell scripting e php, o perl e php - php ti serve perche' con php puoi lanciare lo script da una pagina web, mentre con altri linguaggi non puoi.

Ma le cartelle sono sempre le stesse o variano? Perche' nel secondo caso sarebbe un mezzo casino passare le variabili da un linguaggio all'altro...

Link al commento
Condividi su altri siti

Originally posted by Ce

Ah ok! Allora credo tu possa usare una combinazione di shell scripting e php, o perl e php - php ti serve perche' con php puoi lanciare lo script da una pagina web, mentre con altri linguaggi non puoi.

Ma le cartelle sono sempre le stesse o variano? Perche' nel secondo caso sarebbe un mezzo casino passare le variabili da un linguaggio all'altro...

No, variano, ma ci sono quasi, grazie mille!

Html + perl

Appena finisco, se funziona tutto posto il procedimento

ACSP dal 01/06/2011

ACTC dal 23/01/2012

Apple quasi mai inventa l'acqua calda.

La mette solo dentro ad un tubo che finisce con un innaffiatoio e rende più facile e bello farsi la doccia!

Link al commento
Condividi su altri siti

Originally posted by mang_+--><div class='quotetop'>QUOTE(mang_)</div>
<!--QuoteBegin-Ce

Ah ok! Allora credo tu possa usare una combinazione di shell scripting e php, o perl e php - php ti serve perche' con php puoi lanciare lo script da una pagina web, mentre con altri linguaggi non puoi.

Ma le cartelle sono sempre le stesse o variano? Perche' nel secondo caso sarebbe un mezzo casino passare le variabili da un linguaggio all'altro...

No, variano, ma ci sono quasi, grazie mille!

Html + perl

Appena finisco, se funziona tutto posto il procedimento[/b]

Ok :wink:

Link al commento
Condividi su altri siti

Se non hai già fatto tutto :(

in php è piuttosto semplice, sul manuale trovi tutto...

http://ch2.php.net/zlib

altrimenti c'è una classe già fatta che rende il tutto più comodo ^^

http://www.phpclasses.org/browse/package/2322.html

<?php



include_once("createZip.inc.php");

$createZip = new createZip;  



$createZip -> addDirectory("dir/");



$fileContents = file_get_contents("img.jpg");  

$createZip -> addFile($fileContents, "dir/img.jpg");  





$fileName = "archive.zip";

$fd = fopen ($fileName, "wb");

$out = fwrite ($fd, $createZip -> getZippedfile());

fclose ($fd);



$createZip -> forceDownload($fileName);

@unlink($fileName);

?>

P.S. Ho dato una veloce occhiata al codice e mi pare sia php5 only

Ciauz

Link al commento
Condividi su altri siti

Originally posted by GaretJax

Se non hai già fatto tutto :(

in php è piuttosto semplice, sul manuale trovi tutto...

http://ch2.php.net/zlib

altrimenti c'è una calasse già fatta che rende il tutto più comodo ^^

http://www.phpclasses.org/browse/package/2322.html

Ciauz

Non ho ancora fatto tutto, diciamo che sto iniziando, intanto mi esercito un po' con perl e cgi, intanto dò un'occhiata!

Grazie mille!

ACSP dal 01/06/2011

ACTC dal 23/01/2012

Apple quasi mai inventa l'acqua calda.

La mette solo dentro ad un tubo che finisce con un innaffiatoio e rende più facile e bello farsi la doccia!

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...