NSA - Non Solo Amiga
SOFTWARE => Linguaggi di programmazione e scripting => Topic aperto da: clros - 18 Luglio 2011, 15:05:34
-
Ciao a tutti,
qualche tempo fa, avevo scritto uno script PHP per effettuare il download da remoto di un file.
Il codice è questo:
<?PHP
$file_path = "../SW/libYAD 1_2.tar.gz";
header("Content-Type: application/x-gzip");
header("Content-Transfer-Encoding: binary");
header("Content-Disposition: attachment; filename=".$file_path);
header("Content-Description: Download PHP");
header("Content-Lenght: 1247675;");//CAMBIARE!!!
readfile($file_path);
//Mi invio una mail per contare i download!
mail("clros@tiscali.it",
"Scaricato archivio",
"E' stata scaricato una volta il file!",
"From: http://www.fjmsoftware.altervista.org (http://www.fjmsoftware.altervista.org))
Ho qualche dubbio su quel :
header("Content-Type: application/x-gzip");
però...prima funzionava..bho?
-
la butto lì.... non è che, per caso, la pagina va in timeout e si interrompe il download a metà?
Verifica la dimensione scaricata con quella prevista, e poi con un hex editor controlla che il file non contenga spazzatura, tipo una fila di zeri oppure una pagina html con scritto "Altervista hardly sucks" o cose simili :D
-
la butto lì.... non è che, per caso, la pagina va in timeout e si interrompe il download a metà?
Verifica la dimensione scaricata con quella prevista, e poi con un hex editor controlla che il file non contenga spazzatura, tipo una fila di zeri oppure una pagina html con scritto "Altervista hardly sucks" o cose simili :D
Per il timeout ci avevo pensato anche io..ma è un file da 1,3 MByte, finisce subito...
Ho controllato la dimensione dell'archivio scaricato: è 2 Bytes più grande di quello che dovrebbe scaricare
(1247677 bytes contro 1247675)...ma come mai???
-
vai sotto di hex editor e trova le differenze :D
a occhio e croce, potresti trovare una coppia di byte 0x10 0x13 (ritorno a capo) che danno fastidio ad inizio o fine file. Oppure potresti avere un file pieno di zeri.
-
No, il file non è pieno di zeri, però l'idea dell' LF + CR potrebbe essere...ma in caso, come risolvere?
-
assicurati che prima del tag <?php e dopo il tag ?> non ci sia NULLA, nemmeno il ritorno a capo.
Il PHP, essendo un linguaggio che si "intercala" dentro un file html, ti incolla in output tutto il file, processando il codice entro i tag e copiando tutto il resto "pari pari".
-
assicurati che prima del tag <?php e dopo il tag ?> non ci sia NULLA, nemmeno il ritorno a capo.
Il PHP, essendo un linguaggio che si "intercala" dentro un file html, ti incolla in output tutto il file, processando il codice entro i tag e copiando tutto il resto "pari pari".
Cazzarola...sai che ora funge? C'era un newline alla fine del file .PHP come mi suggerivi...
Però, non capisco come mai prima funzionava (ne sono sicuro) e poi, all'improvviso non è più andato...
-
sicuramente è colpa di un edit incauto... oppure il difetto è da ricercarsi a monte della scelta del PHP come linguaggio per il tuo sito
PS: :shhh: anche questo sito è fatto in php...
-
sicuramente è colpa di un edit incauto... oppure il difetto è da ricercarsi a monte della scelta del PHP come linguaggio per il tuo sito
PS: :shhh: anche questo sito è fatto in php...
:D :D :D
Però, oltre a PHP conosco (conoscevo) solo JSP ma, se non ricordo male, Altervista ha solo l'interprete PHP per cui...
-
per cui cambia host :lol:
-
per cui cambia host :lol:
Ottima risposta!! :lol:
-
per cui cambia host :lol:
Ottima risposta!! :lol:
:laughing-rolling: