Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/01/2012, 15h23   #1
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 202
Points : 45 202
Par défaut detecter la fin d'un forcedownlaod

Bonjour,

Je suis malheureusement quasi sûr de la reponse

Peut on d'une manière ou d'une autre tester automatiquement si un forcedownload s'est bien terminé ?

A part une boucle coté client qui irait tester le MD à la fin du téléchargement, et encore faut il pouvoir detecter la fin de flux , et connaitre le nom du fichier sachant que la boite de dialogue enregistrer sous laisse le libre nommage au client ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 15h40   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
regarde du coté de connection_status
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 15h51   #3
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 202
Points : 45 202
Oui enfin sauf que la c'est coté client que l'appli doit tester
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 15h52   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
quel est l’intérêt ? la fenêtre de téléchargement se ferme quand il est finit
ton cas c'est si la connexion est coupé ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 09h28   #5
Membre confirmé
 
Avatar de Jcpan
 
Inscription : août 2008
Messages : 481
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 481
Points : 248
Points : 248
Tu peux vérifier le nombre d'octets dans le journal de serveur Web pour voir si le
ensemble du dossier a été transféré.

En PHP, tu peux aussi le faire en verifiant connection_aborted () après avoir
envoyer le fichier par exemple.:

Code :
1
2
3
4
5
ignore_user_abort(true); // Don't end if the connection breaks
 
if (readfile($path) !== false && !connection_aborted()) {
// Success!
}
Un autre exemple

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?
 
// Sample usage
 
function sendTest()
{
$res = sendFile('application.exe', 'application/octet-stream');
 
if ($res['status']) {
// Download succeeded
} else {
// Download failed
}
 
@saveDownloadStatus($res);
}
 
// The sendFile function streams the file and checks if the
// connection was aborted.
 
function sendFile($path, $contentType = 'application/octet-stream')
{
ignore_user_abort(true);
 
header('Content-Transfer-Encoding: binary');
header('Content-Disposition: attachment; filename="' .
basename($path) . "\";");
header("Content-Type: $contentType");
 
$res = array(
'status' =false,
'errors' =array(),
'readfileStatus' =null,
'aborted' =false
);
 
$res['readfileStatus'] = readfile($path);
if ($res['readfileStatus'] === false) {
$res['errors'][] = 'readfile failed.';
$res['status'] = false;
}
 
if (connection_aborted()) {
$res['errors'][] = 'Connection aborted.';
$res['aborted'] = true;
$res['status'] = false;
}
 
return $res;
}
 
// Save the status of the download to some place
 
function saveDownloadStatus($res)
{
$ok = false;
$fh = fopen('download-status-' . $_SERVER['REMOTE_ADDR'] . '-' .
date('Ymd_His'), 'w');
if ($fh) {
$ok = true;
if (!fwrite($fh, var_export($res, true))) {
$ok = false;
}
if (!fclose($fh)) {
$ok = false;
}
}
return $ok;
}
à tester...

Source http://bytes.com/topic/php/answers/5...eted-cancelled
Jcpan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 13h22   #6
Nouveau Membre du Club
 
Inscription : mai 2004
Messages : 84
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mai 2004
Messages : 84
Points : 36
Points : 36
Si l'envoi du fichier passe par un script PHP, je pense qu'il peut savoir lorsque c'est fini (voir ci-dessus).
Donc côté client, via un 'tit ajax, tu peux récuperer cette même info.

Non ?
lionheart33806 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 11h16   #7
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 202
Points : 45 202
Merci pour ces réponses, mais en fait je ne pense pas qeu ce soit du coté de php que je doive chercher en fait
C'est une appli coté client ...
Donc il me faudrait instaurer un dialogue
recupérer le md5
recuperer le fichier
intercepter la fin du downlaod
tester le fichier reçu par rapport au md5
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 11h29   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
tu peux pas faire ça, c'est a l'utilisateur de la faire, si tu veux eviter ce genre de chose fais du range request, si t'as pas envie de t’embêter utilise X-SendFile
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h40.


 
 
 
 
Partenaires

Hébergement Web