par
Cyrano » 26 nov. 2006, 16:42
Je vais ajouter une ou deux choses :
-1- on utilise pas le "@" : masquer les erreurs de cette manière, c'est un cache-misère. On corrige;
-2- On indente proprement le code de façon à ce qu'il soit lisible humainement et là, tu t'es un peu loupé, voici ce qui aurait dû être fait et tu va voir que de cette manière, l'erreur serait évidente d'un simple coup d'oeil :
<?php
$host = "ftpperso.free.fr";
$repertoire = "/upload/";
$login = "login";
$password = "password";
// connection au serveur
if (!$ftp = ftp_connect($host))
{
echo "Connection impossible<br>";
}
else
{
echo "Connecté à ". $host ."<br>";
// login
if(ftp_login($ftp, $login, $password))
{
echo "Login ok<br>";
// changement de répertoire
if(ftp_chdir($ftp,$repertoire))
{
echo "Changement de répertoire effectué<br>";
// affichage du répertoire
$rep_courant = ftp_pwd($ftp);
echo "Répertoire courant : <b>". $rep_courant ."</b> <br>";
// Liste des fichiers
if ($fichiers = ftp_nlist($ftp,"."))
{
echo "<blockquote><tt>";
while(list(,$nom) = each($fichiers))
{
echo "". $nom ."<br>";
}
echo "</tt></blockquote>";
// le repertoire n'existe pas
}
else
{
echo "Répertoire inexistant !";
}
// erreur lors changement repertoire
}
else
{
echo "Une erreur s'est produite lors du changement de répertoire (". $repertoire .")<br>";
}
// erreur lors du login
}
else
{
echo "Une erreur s'est produite lors du login<br>";
}
$ftp1 = ftp_put($ftp, $_POST['file'] , $_POST['filename'], FTP_BINARY);
// deconnection
ftp_quit($ftp);
// <<=== accolade fermante du else manquante !
?>
-3- il me semble que de toutes façons ça ne peut pas fonctionner : les fonction FTP sont désactivées chez free (à vérifier, ça a peut-être changé, je n'ai pas remarqué dernièrement.
Je vais ajouter une ou deux choses :
-1- on utilise pas le "@" : masquer les erreurs de cette manière, c'est un cache-misère. On corrige;
-2- On indente proprement le code de façon à ce qu'il soit lisible humainement et là, tu t'es un peu loupé, voici ce qui aurait dû être fait et tu va voir que de cette manière, l'erreur serait évidente d'un simple coup d'oeil :
[php]<?php
$host = "ftpperso.free.fr";
$repertoire = "/upload/";
$login = "login";
$password = "password";
// connection au serveur
if (!$ftp = ftp_connect($host))
{
echo "Connection impossible<br>";
}
else
{
echo "Connecté à ". $host ."<br>";
// login
if(ftp_login($ftp, $login, $password))
{
echo "Login ok<br>";
// changement de répertoire
if(ftp_chdir($ftp,$repertoire))
{
echo "Changement de répertoire effectué<br>";
// affichage du répertoire
$rep_courant = ftp_pwd($ftp);
echo "Répertoire courant : <b>". $rep_courant ."</b> <br>";
// Liste des fichiers
if ($fichiers = ftp_nlist($ftp,"."))
{
echo "<blockquote><tt>";
while(list(,$nom) = each($fichiers))
{
echo "". $nom ."<br>";
}
echo "</tt></blockquote>";
// le repertoire n'existe pas
}
else
{
echo "Répertoire inexistant !";
}
// erreur lors changement repertoire
}
else
{
echo "Une erreur s'est produite lors du changement de répertoire (". $repertoire .")<br>";
}
// erreur lors du login
}
else
{
echo "Une erreur s'est produite lors du login<br>";
}
$ftp1 = ftp_put($ftp, $_POST['file'] , $_POST['filename'], FTP_BINARY);
// deconnection
ftp_quit($ftp);
// <<=== accolade fermante du else manquante !
?>[/php]
-3- il me semble que de toutes façons ça ne peut pas fonctionner : les fonction FTP sont désactivées chez free (à vérifier, ça a peut-être changé, je n'ai pas remarqué dernièrement.