problemi con header ed unlink

  • Creatore Discussione giuseppederossi
  • Data di inizio
G

giuseppederossi

Guest
Ciao a tutti,
su un mio sito ho implementato la possibilita' di effettuare una scelta in un set di file ed effettuare il download del file zippato contenente i file scelti. Il nome del file zippato viene creato in base alla data e all'ora e dovrebbe essere cancellato alla fine del download.
Tutto viene eseguito in modo corretto tranne unlink(), ossia il file non viene cancellato.Sembra che dopo il download, effettuato o meno in base alla scelta dalla finestra di diaologo, non viene eseguita alcuna istruzione,lato client non sembrano esserci problemi, lo zip e' corretto.
Ho visto molte differenti soluzioni, anche effettuando la cancellazione via shell di dos (sic!) , il problema e' che dopo il download il processo di script termina. Molti hanno usato i miei stessi passi:
- creazione zip
- invio header
- readfile o invio file per burst
- unlink file.
Sto usando PHP 5.0 con wamp, prove effettuate con IE6 sp2

Vi invio il codice un po' disordinato per le prove che ho effettuato:

@ignore_user_abort();
@set_time_limit(0);

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($nome_file).";");
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($nome_file));
header ("Connection: close"); // non mi pare abbia alcun effetto
// flush();
// readfile($nome_file);

$chunksize = 1*(1024*1024);
$buffer = '';
$cnt =0;
$handle = fopen($nome_file, 'rb');
if ($handle === false) {
return false;
}
while (!feof($handle)) {
$buffer = fread($handle, $chunksize);
echo $buffer;
if ($retbytes) {
$cnt += strlen($buffer);
}
}
$status = fclose($handle);
$cancellato= @unlink($nome_file);
$command_zip = "del ".$nome_file;

exec ($command_zip);
exit;

Esiste un sistema per poter intercettare la risposta dell'utente della finestra di dialogo per il download ?

Grazie in anticio

PS: chiedo scusa se questa mail e' ripetuta: ho inviato ieri la medesima ma non l'ho vista pubblicata.
 
G

giuseppederossi

Guest
In verita' non so, ho cercato di intercettare un output qualsiasi, ma in pratica dopo la funzione di header e readfile o echo $buffer, non riesco a fare fare nulla allo script.
A naso, e' come se si chiudesse tutto. Ho provato anche a spostare:
header ("Connection: close");
alla fine ma dopo il file non viene cancellato.

Ho provato a caricare tutto in memoria cancellare ed inviare, ma in quasto caso il nome del file inviato e' errato, infatti mi viene downlodato il file con il nome dello script !!!
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Giusto per curiosità, commenta la chiusura dell'handle
PHP:
$status = fclose($handle);
e riesegui lo script
 
G

giuseppederossi

Guest
Ciao,
ho effettuato la prova ... nulla. Ho pero' una novita': ho visto, tenendo sottocontrollo la directory dove viene creato il file da inviare, che si produceva prima il dialogo di download e poi appariva il file creato (almeno in locale). Ho inserito una pausa, per il momento fissa poi penso di inserire un loop sulla esistenza del file, e a quasto punto ... sorpresa: se effettuo il download del file, questo avviene regolarmente e poi viene cancellato (alleluia), ma se non effettuo il download (premo annulla) lo script termina. La direttiva ignore_user_request(), sembra sia affetta da un baco dal 2004 per sistemi windows !!!! Al momento posso creare un job esterno per cancellare i file piu' vecchi ma non mi piace .
Esiste un work around per il baco della funzione che dovrebbe apunto evitare che lo script si interrompa sull'abor del client ?
Qualche altro suggerimento ?
Grazie in anticipo
 
Discussioni simili
Autore Titolo Forum Risposte Data
V problemi con header PHP 14
V problemi con Header dopo una message box PHP 13
T problemi con dati menu a tendina HTML e CSS 2
M Upload immagine con javascript problemi con FormData() Javascript 1
A Problemi con move_uploaded_file PHP 7
M Problemi con la stampa dei valori in php PHP 1
L Problemi con il login PHP 2
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
Z problemi con foreach insert into PHP 10
B javascript per problemi con pdf e Safari Javascript 0
M Problemi con creazione maschere Presentati al Forum 1
M Problemi con query a più tabelle PHP 3
S Problemi delle funzioni eliminate con PHP e MySQL PHP 4
M Problemi con blog Grav CMS (Content Management System) 0
S incoerenza di stampa. problemi con il magenta Photoshop 3
A problemi con paypall Java 1
S Problemi con modulo upload video php (help!) PHP 0
felino [Windows 8.1] Problemi con connessione WiFi Windows e Software 0
E [PHP] problemi nuova riga con fwrite su piattaforma android PHP 5
O [HTML] problemi con la regola "background-attachment: fixed" in EDGE HTML e CSS 0
M [PHP] Problemi con query unione PHP 11
M [PHP] Problemi con select PHP 6
ANDREA20 [HTML] problemi con il footer HTML e CSS 1
D [MS Access] problemi con inserimento campo in una maschera MS Access 6
M [PHP] Problemi con il riconoscimento login. PHP 21
A [WordPress] problemi con xampp WordPress 2
M Problemi con database Apache/2.4.37 (Win32) OpenSSL/1.1.1a PHP/7.3.1 PHP 6
S [PHP] problemi con le sessioni PHP 3
T [PHP] problemi con il browser PHP 0
Andrea_Ventura [HTML] Problemi con effetto hover HTML e CSS 5
M [PHP] Problemi con login facebook PHP 0
Andrea_Ventura [HTML] Problemi con visualizzazione Navigation Bar HTML e CSS 10
andreas88 Creare file .htaccess per risolvere alcuni problemi con il tester SEO SEO e Posizionamento 0
Eugene [Joomla] Problemi con modulo per strutture alberghiere JHotelreservation starter Joomla 6
F [PHP] Problemi di base con bot di telegram PHP 9
M [Photoshop] Problemi con importazione immagini trasparenti in indesign Photoshop 0
E [Photoshop] Problemi con dimensioni immagini Photoshop 12
G [HTML] Problemi con inserimento immagini HTML e CSS 7
L Problemi con Javascript e Mustache Javascript 0
G Invio Mail con PHPMailer, problemi SMTP PHP 7
A [Javascript] problemi con javascrip e posizione GPS html5 Javascript 6
D Due problemi con Photoshop... Photoshop 1
G Problemi con pagina online.php di una chat in php PHP 38
S Problemi con impostazioni php PHP 3
P Problemi con AndroidStudio Sviluppo app per Android 0
S Problemi con Dell Precision T5400 Windows e Software 2
F ciao, sono ferro e ho bisogno di aiuto per problemi con la mail di alice.it Presentati al Forum 1
S [PHP] Problemi con Login e pagina Utente PHP 5
Z problemi con swf e chrome o sistemi portatili Webdesign e Grafica 5
N Problemi connettività con Tp Link EAP 110 Reti LAN e Wireless 0

Discussioni simili