Suppression de fichier après téléchargement [Résolu]

girardcimpa 7 Messages postés jeudi 30 juillet 2009Date d'inscription 3 août 2011 Dernière intervention - 3 sept. 2009 à 10:58 - Dernière réponse : cs_bolox 9 Messages postés lundi 21 février 2005Date d'inscription 6 mars 2013 Dernière intervention
- 6 mars 2013 à 08:30
Bonjour

A partir d'un formulaire je crée un fichier zip et propose à l'utilisateur de l'enregistrer.
Mon problème : le fichier zip est créé localement sur le serveur et je n'arrive pas à trouver un moyen de le supprimer après l'enregistrement.

Une partie du source :
<?php

require_once( 'core.php' );
$t_core_path = config_get( 'core_path' );
require_once( $t_core_path . 'file_api.php' );
require_once( $t_core_path . 'csv_api.php' );
require_once( $t_core_path . 'bug_api.php' );
$f_bug_arr = gpc_get_int_array( 'bug_arr', array() );
$file_list_bug = array();
$file_list_name = array();
$filenom = current_user_get_field( 'username' ) .'-'. date('dmY').'.zip';
$zip = new ZipArchive();
if ($zip->open($filenom, ZIPARCHIVE::OVERWRITE) == TRUE) {
$filecsv = create_csv_file($f_bug_arr);
$zip->addFile($filecsv);
foreach ($f_bug_arr as $t_bug_id) {
$dir_bug=bug_format_id($t_bug_id);
$zip->addEmptyDir($dir_bug);
$file_list_bug = file_attachments_liste ( $t_bug_id,1 );
$file_list_name = file_attachments_liste ( $t_bug_id,2 );
for ($i = 0; $i < count($file_list_bug); $i++) {
$zip->addFile($file_list_bug[$i],$dir_bug.'\\'.$file_list_name[$i]);
}
// mise à jour du status
$t_bug_data =bug_get( $t_bug_id,true);
$t_bug_data->status = ESTIMATED;
bug_update( $t_bug_id, $t_bug_data );
}
$zip->close();
unlink($filecsv);

// # flush output buffer to protect download
@ob_end_clean();
// # Make sure that IE can download the attachments under https.
header( 'Pragma: public' );
header( 'Content-Length: ' . filesize($filenom));
header('Content-Type: application/x-zip-compressed');
// # Added Quotes (") around file name.
header( 'Content-Disposition: attachment; filename="' . $filenom . '"' );
header( 'Content-Description: Download Data' );
header("Expires: 0");
// # To fix an IE bug which causes problems when downloading
// # attached files via HTTPS, we disable the "Pragma: no-cache"
// # command when IE is used over HTTPS.
if ( ( "on" == $_SERVER["HTTPS"] ) && preg_match( "/MSIE/", $_SERVER["HTTP_USER_AGENT"] ) ) {
# Suppress "Pragma: no-cache" header.
} else {
header( 'Pragma: no-cache' );
}
readfile( $filenom );
exit;
}
Merci d'avance, 2 jours que je cherche une solution...
Afficher la suite 

8 réponses

Répondre au sujet
Tonio_35 567 Messages postés mercredi 4 octobre 2006Date d'inscription 30 août 2011 Dernière intervention - 3 sept. 2009 à 14:54
+3
Utile
T as essayé le unlink($filenom ); après le readfile( $filenom ); ?

_________________________________
Min iPomme
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Tonio_35
Tonio_35 567 Messages postés mercredi 4 octobre 2006Date d'inscription 30 août 2011 Dernière intervention - 3 sept. 2009 à 14:13
0
Utile
_________________________________
Min iPomme
Commenter la réponse de Tonio_35
Tonio_35 567 Messages postés mercredi 4 octobre 2006Date d'inscription 30 août 2011 Dernière intervention - 3 sept. 2009 à 14:14
0
Utile
Oups désolé pour ce post vide...

T'as pas moyen avec ta lib de zip de l'envoyer direct vers la sortie plutot que de créer un fichier ?


_________________________________
Min iPomme
Commenter la réponse de Tonio_35
girardcimpa 7 Messages postés jeudi 30 juillet 2009Date d'inscription 3 août 2011 Dernière intervention - 3 sept. 2009 à 14:46
0
Utile
Apparemment non.

Si je ne fais pas $zip->open($filenom, ZIPARCHIVE::OVERWRITE)ou si je fais juste $zip->open($filenom), le fichier enregistré est vide
Commenter la réponse de girardcimpa
girardcimpa 7 Messages postés jeudi 30 juillet 2009Date d'inscription 3 août 2011 Dernière intervention - 3 sept. 2009 à 14:58
0
Utile
Merci ça marche.

Je pensais que rien n'était exécuter après readfile (débutant en php)
Commenter la réponse de girardcimpa
Tonio_35 567 Messages postés mercredi 4 octobre 2006Date d'inscription 30 août 2011 Dernière intervention - 3 sept. 2009 à 15:04
0
Utile
De rien, met sélectionne la réponse acceptée pour plus de lisibilité...


Bonne continuation...

_________________________________
Min iPomme
Commenter la réponse de Tonio_35
Tonio_35 567 Messages postés mercredi 4 octobre 2006Date d'inscription 30 août 2011 Dernière intervention - 3 sept. 2009 à 15:17
0
Utile
Comment j'écris moi... Excusez ma dysorthographie passagère

_________________________________
Min iPomme
Commenter la réponse de Tonio_35
cs_bolox 9 Messages postés lundi 21 février 2005Date d'inscription 6 mars 2013 Dernière intervention - 6 mars 2013 à 08:30
0
Utile
Un grand merci pour cette réponse !!
Commenter la réponse de cs_bolox

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.