reprendre l'excution d'un script php aprés son arrêt cosé par une erreur

Petit nouveau ! | 4 Messages

03 Juil 2008, 19:50

Bonjour
J’ai un script PHP qui permet de télécharger des données à partir d’un fichier(url). Mais parfois j’ai des problèmes de connexion (perte de la connexion internet pendant qlq secondes) à ce fichier donc l’exécution de mon script s’arrête en me donnant un Warning.
Est ce qu’il y a un moyen de r'exécuter automatiquement mon script PHP pour continuer?.
Merci.

ViPHP
ViPHP | 5872 Messages

03 Juil 2008, 20:04

C'est un transfert http ou ftp ?

Petit nouveau ! | 4 Messages

03 Juil 2008, 20:19

c'est un transfert http

ViPHP
ViPHP | 5872 Messages

03 Juil 2008, 21:54

Alors ne compte pas recommencer le téléchargement là où il s'est arrêté, ca n'est pas possible en http. Par contre tu peux envoyer un header("Location: ..."); pour demander au navigateur de relancer ton script...

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 13232 Messages

03 Juil 2008, 23:28

Modération :
nazik1988, le multipostage est interdit sur le forum.

Merci de prendre le temps de lire les règlements.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 67 Messages

08 Juil 2008, 10:07

Par curiosité (le probleme semblant résolu) si on était en tranfert ftp il y aurait un moyen de reprendre le téléchargement la ou il s'est arreté?

PS: si le sujet mérite discussion qu'un admin le déplace ailleur, mici :)

Petit nouveau ! | 4 Messages

08 Juil 2008, 10:51

Bonjour
J'utilise maintenant la fonction php exec() voici mon code php :
[php]
if($html=@file_get_contents($url))
echo "le lien est bien trouver";
else {
echo "<script> alert('il y a une coupure dans le telechargement voulez vous continuer ?');</script>";
echo "<p> refaire le telechargement";
exec('php C:\Program Files\EasyPHP1-8\www\c_fichier\insertion_directe.php');
}
[/php]
mais le problème que ce programme ne se re’exécute pas depuis le début ou a partir d'une certaine itération, il continue tout simplement a partir de l'endroit ou il s’est arrêté.
je ne sais pas comment faire pour le re exécuter a partir du début.

ViPHP
ViPHP | 5872 Messages

08 Juil 2008, 11:16

vince_weed a écrit :Par curiosité (le probleme semblant résolu) si on était en tranfert ftp il y aurait un moyen de reprendre le téléchargement la ou il s'est arreté?

Théoriquement le protocole ftp est fait pour le permettre, il faut regarder la doc pour vérifier comment faire...

ViPHP
ViPHP | 5872 Messages

08 Juil 2008, 11:25

nazik1988 a écrit :Bonjour
J'utilise maintenant la fonction php exec() voici mon code php :
[php]
if($html=@file_get_contents($url))
echo "le lien est bien trouver";
else {
echo "<script> alert('il y a une coupure dans le telechargement voulez vous continuer ?');</script>";
echo "<p> refaire le telechargement";
exec('php C:\Program Files\EasyPHP1-8\www\c_fichier\insertion_directe.php');
}
[/php]
mais le problème que ce programme ne se re’exécute pas depuis le début ou a partir d'une certaine itération, il continue tout simplement a partir de l'endroit ou il s’est arrêté.
je ne sais pas comment faire pour le re exécuter a partir du début.

Veuille m'excuser cette réponse mais c'est n'importe quoi ton code, tu mélanges allègrement du javascript (un code client) avec du php (un code serveur).
Le exec sera déjà exécuté avant le alert. Par ailleurs, ici si le téléchargement échoue à chaque essai, il s'exécutera indéfiniment jusqu'au timeout de php.
Je t'ai déjà donné une solution avec la redirection par header.

Eléphant du PHP | 422 Messages

08 Juil 2008, 11:40

Théoriquement le protocole ftp est fait pour le permettre, il faut regarder la doc pour vérifier comment faire...

les ordres PHP ftp_fget() et ftp_fput() ont un argument qui indique la position dans le fichier à partir de laquelle il faut télécharger. Il ne reste plus qu'à écrire tout ce qui va autour : détection de l'interruption du transfert, récupération de la position d'interruption et relance du transfert

Eléphant du PHP | 67 Messages

15 Juil 2008, 12:44

ok, merci pour la piste ;)