Newsgroup: it.comp.www.php
Titolo: Download di file creati al volo

Ciao a tutti,
come dice il titolo, volevo sapere se era possibile creare e permettere lo
scaricamento di file al volo.
Mi spiego meglio:
sul manuale ho letto come permettere lo scaricamento di un file presente sul
disco
---------
header('Content-type: application/vnd.adobe.pdf');
header('Content-Disposition: attachment; filename="informazioni.txt"');
readfile(original.txt);
---------
ed in questo modo effettivamente mi compare la save dialog per lo
scaricamento e il salvataggio del file. Quindi ho pensato che forse era
meglio non dover creare un file sul disco, sia per la lentezza, sia perchè
in caso di accessi e/o richieste concorrenti, mi dovrei preoccupare di
chiamare i file in modo diverso (non ci vorrebbe niente, lo so, però
preferirei non dover riempire la cartella di file inutili), ma crearlo al
volo e permetterne lo scaricamento.
Ora ho provato a creare un file temporaneo tramite $tmpfile(), ma sempre
dalla guida ho poi scoperto che il file temporaneo è di sola scrittura, mi
potreste dare una dritta o anche solo dirmi se si può fare e se stò
sbagliando strada, poi al massimo cerco di risolvermelo.
Grazie a tutti

 fare e se str sbagliando strada, poi al massimo cerco di risolvermelo.
Utilizza 
http://www.php.net/tempnam
 .
-- 
I am what I am, I do what I can
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
L'uomo, conscio di sbagliare, persevera.

Grazie Select Astronomy,
effettivamente avevo già fatto una prova con tempnam, anche perchè una volta
aperta la pagina del manuale in cui c'è temp, mi sono letto tutte le altre
possibilità a sinistra, provando anche in modi contorti a vedere se c'era
qualcosa che faceva al caso mio, ma evidentemente non l'ho letto
attentamente.
Ti ringrazio per la disponibilità.

Setec Astronomy wrote:
| Mitzuashi wrote:
[cut]
Ciao, stavo per aprire un thread simile, mi aggancio a questo ...
il mio dubbio era se i files che "faccio scaricare" tramite la pagina
.php sono o meno "resumable" nel senso ... posso permettere all'utente
di interrompere il download e poi recuperarlo senza intervenire sulla
pagina? è gestito in automatico tramite HTTP->webserver->PHP?
Ciao!
-- 
..::[ Panz ]::..
-----------------------
per rispondere riscrivi in numeri la mia eMail!

Mitzuashi wrote:

Non hai bisogno di creare file temporanei, puoi mandare tutto in echo 
DOPO l'intestazione.
Guarda un esempio con un file excel:
ciao
Marcello
$tabella = "<table><tr>
	<td bgcolor=\"#FF0000\">Etichetta1</td>
	<td bgcolor=\"#FF0000\">Etichetta2</td>
	</tr>
	<tr>
	<td>valore1</td>
	<td>valore2</td>
	</tr>
</table>";
$oggi=date("Ymd");
header("Content-type: application/ms-excel; name=tabella_$oggi");
header("Content-Disposition: attachement; filename=tabella_$oggi.xls");
echo $tabella;

>
[..]
In realtà bisognerebbe mettere i tag html...
nell'echo finale.


 nell'echo finale.
Please 
http://wiki.news.nic.it/QuotarBene
-- 
I am what I am, I do what I can


pagina?
No.
Leonardo
-- 
Avere studiato senza mettere in pratica e' inutile;
mettere in pratica senza avere studiato e' pericoloso.
                                                - Conphpucio

Leonardo Serni wrote:
[cut]
|| all'utente di interrompere il download e poi recuperarlo senza
|| intervenire sulla pagina?
| No.
Ok ... ci sono altrernative?
Far scaricare 5Mb a tizi con il 56k senza resume mi sembra da "bastardo"
:-))


 :-))
FTP.
L'HTTP non è stato pensato per questo tipo di cose (non so se poi è stato
modificato :-/). Pero' puoi usare FTP. Oppure BitTorrent :-))
enrico


Ok, per l'FTP non ci sono problemi, per l'HTTP so che il browser può
indicare il range di byte da cui ricevere i dati, non è possibile
utilizzare gli header inviati dal client?
Il mio obiettivo è "contare" quanti e da dove arrivano i downloads ...
solo che se faccio una ridirezione ad FTP perdo quelli che si collegano
direttamente all'indirizzo FTP no?
Ciao!
