Détruire un fichier après qu'il ait été téléchargé

Détruire un fichier après qu'il ait été téléchargé - PHP - Programmation

Marsh Posté le 06-03-2012 à 14:11:55    

Bonjour
Je recherche un moyen (pas forcément par PHP d'ailleurs) pour détruire un fichier une fois qu'il a été téléchargé.
je place par exemple mon fichier sur un serveur, un client vient le récupérer,  et une fois qu'il a été complètement téléchargé, il est effacé.
Si vous aviez une méthode pour faire ceci, ça serait tout bonnement génial.


---------------
Mes guitares, ampli, et effets sont en vente !
Reply

Marsh Posté le 06-03-2012 à 14:11:55   

Reply

Marsh Posté le 12-03-2012 à 10:28:46    

C bon, j'ai trouvé


Message édité par format_c le 12-03-2012 à 10:29:05

---------------
Mes guitares, ampli, et effets sont en vente !
Reply

Marsh Posté le 12-03-2012 à 13:02:30    

Tu pourrais poster ta solution, ça m'intéresse, svp :jap:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 12-03-2012 à 15:48:20    

$name="nom_du_fichier";
$f="mon_repertoire/".$name;
$fo = fopen($f, 'rb') ;
    $content = fread($fo, filesize($f)) ;
    fclose($fo) ;
 
header("Content-Type: application/octet-stream" );  
header("Content-Length: " . strlen($content));  
header("Content-Disposition: attachment; filename=\"".$name."\"" );  
echo $content;
unlink($f);


---------------
Mes guitares, ampli, et effets sont en vente !
Reply

Marsh Posté le 12-03-2012 à 16:14:55    

J'ai comme l'impression que ton script posera problème si ton fichier est trop gros.
Faudrait ptête bufferiser par petits morceaux, ou laisser Apache s'occuper de l'upload.

Reply

Marsh Posté le 13-03-2012 à 09:40:44    

c'est ce que je me dis aussi. Si ton fichier fait plusieurs 100ène de Mo, tu vas te prendre un timeout du script php (en général, 30s)... :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 13-03-2012 à 10:45:44    

Pas si tu héberges toi même :D

Message cité 1 fois
Message édité par format_c le 13-03-2012 à 10:45:50

---------------
Mes guitares, ampli, et effets sont en vente !
Reply

Marsh Posté le 13-03-2012 à 11:27:49    

format_c a écrit :

Pas si tu héberges toi même :D


 
Ben tu mets quand même bien un timeout pour le temps d'exécution des scripts php, sinon, tu t'exposes à des pbs (genre un script qui par en vrille dans une boucle infinie) :/ Donc même si t'as mis un gros timeout, si en face qq'un à une petite connexion, il pourra être confronté au pb...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 13-03-2012 à 11:33:29    

sauf si tu sais que ca depassera jamais 1-10mo maius bon :/
ca reste un bricolage :jap:

Reply

Marsh Posté le 13-03-2012 à 11:35:35    

dans le genre bricolage : quand l'user demande un DL, tu bouge le fichier dans un repertoire temp, et tu lui propose le DL
 
le repertoire temp est en // parcouru tous les x heures par un batch qui supprime s'il ca fait + de x heures qu'il est la.

Reply

Marsh Posté le 13-03-2012 à 11:35:35   

Reply

Marsh Posté le 13-03-2012 à 11:47:36    

rufo a écrit :


 
Ben tu mets quand même bien un timeout pour le temps d'exécution des scripts php, sinon, tu t'exposes à des pbs (genre un script qui par en vrille dans une boucle infinie) :/ Donc même si t'as mis un gros timeout, si en face qq'un à une petite connexion, il pourra être confronté au pb...


 
J'ai fait une limite de taille des fichiers à 1GO et la limite d'excecution des scripts est de 4 heures.
Ca laisse de la marge


---------------
Mes guitares, ampli, et effets sont en vente !
Reply

Marsh Posté le 13-03-2012 à 12:02:55    

1 Go en 4h, y'a plein de monde pour qui ça va pas le faire (ceux dans les campagnes ou loin du NRA...). Et ça va dépendre aussi, de ton côté, du nb de personnes qui téléchargent en // et du débit que tu offres :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 13-03-2012 à 13:34:34    

Ca fait quand même 70 ko/sec pour telecharger 1Go en 4 heures, ce qui est finallement assez raisonnable. Niveau débit j'offre 12MO/sec, ce qui permet de nourrir pas mal de monde. Si jamais mon débit s'avère insuffisant, ce sera une excellente nouvelle, mais bon, on peut tjrs réver :D


---------------
Mes guitares, ampli, et effets sont en vente !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed