Ftp_put

Signaler
Messages postés
99
Date d'inscription
lundi 6 janvier 2003
Statut
Membre
Dernière intervention
4 juillet 2008
-
Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
-
Hello.

J'ai un probleme avec ftp_put

Quand j'execute mon scripte d'upload, l'image est bien uploader sur le serveur, mais internet explorer m'affiche cette erreur:

Fatal error: Maximum execution time of 30 seconds exceeded in c:\program files\easyphp\www\regent\galerie\test.php on line 77

Voici la partie du code qui semble poser probleme : ( je vous met les numeros des lignes )

77   if (ftp_put($conn,  $localfile, $remote_file, FTP_ASCII)) {
78   echo "Votre image a vien été uploadé.\n";
79   } else {
80   echo "Erreur: l'image n a pas été telechargé .\n";
81   }


Voila donc si quelqu'un pouvait me dire comment je peux faire pour ne pas avoir cette erreur, ce serait cool.

Merci

Panpan

6 réponses

Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Il faut que tu modifie la valeur de max_execution_time de php.ini !

Soit dans le fichier, soit à la volée avec set_time_limit($secondes) , mais cette fonction peut être désactivée.

@++ et bonne nuit

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"

www.progforum.net: Aide en programmation!
Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
C'es vraiment bizarre, j'avais répondu à ce post... j'ai même recu un avertissement comme quoi quelqu'un avait répondu après moi...
Bah je reexplique vite fais, ce que coockiesch dit est vrai mais ca peut être aussi que la connexion se fait mal
De plus, je disais que pour passer des fichiers textes on peut utiliser les modes BINARY et ASCII mais pour passer des fichiers images (comme ton script nous l'indique) il faut utiliser le mode BINARY ! (Tu n'utilises pas le bon !)
Messages postés
99
Date d'inscription
lundi 6 janvier 2003
Statut
Membre
Dernière intervention
4 juillet 2008

Ok merci je vais tester ça. Avec BINARY, et en ajoutant
set_time_limit($secondes)

et je vous redis ce que ça donne.

Merci
Messages postés
99
Date d'inscription
lundi 6 janvier 2003
Statut
Membre
Dernière intervention
4 juillet 2008

Ben ca fonctionne tjr pas.

Mais il faut le placer ou ce set_time_limit($seconde); ??

Voici mon bout de scripte qui fait l'operation :

$secondes = '300';
$conn = ftp_connect("$host"); 
if (!$conn)
{
  echo "^Connexion imposible
";
  exit;
}

// Se logger 
$result=@ftp_login($conn, $user, $pass);

if (!$result)
{
  echo "Connexion imposible.
";
  ftp_quit($conn);
  exit;
}

// Téléchargement du fichier
echo "Telechargement en cours... Attendez svp.
";
/* Chargement du fichier */
set_time_limit($secondes);
if (ftp_put($conn,  $localfile, $remote_file, FTP_BINARY)) {
echo "Votre image a ete telecharger.\n";
$requete=mysql_db_query($database_dbprotect,"UPDATE utilisateurs SET numfichier='$nomfile' WHERE login='$login'",$dbprotect);
} else {
echo "L'image n a pas été telecharger.\n";
}

// close the connection
ftp_close($conn);


Si vous pouvez me dire ce que j' ai fait faut.

Merci
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
string  ini_get ('max_execution_time')


Ca te donnera la valeur... Tu pourras voir si elle a été changée (ou pas, ;-))

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"

www.progforum.net: Aide en programmation!
Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
Peut importe ou tu places le set_time_limit
Celui ci remet le compteur à 0... donc dans un while si tu l'appelles tout le temps ca permet de remettre le timer à 0 (ohh quel bon truc...)
De plus, va vois sur php.net, ya déjà un script tout fait avec un ftp_put et un while... (si c pas un ftp_put c'est un avec le mode asynchrone)