Forum Clubic

[php] upload fichier via ftp [MAJ code] [resolu]

voici mon code


<form action="" method="post" ENCTYPE="multipart/form-data">
<input name="fichier" type="file">
<input name="valider" type="submit" value="valider">
</form>
<?php

if(isset($_POST['valider']) && $_FILES['fichier']['tmp_name'] !="") envoi_ftp();

function envoi_ftp()
{
$ftp_server='adresse.fr';
$ftp_user_name='login';
$ftp_user_pass='mot de passe';

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Verification de la connexion
if ((!$conn_id) || (!$login_result)) {
        echo "La connexion FTP a echoue !";
        echo "Tentative de connexion au serveur $ftp_server pour l'utilisateur $ftp_user_name";
        exit;
    } else {
        echo "Connexion au serveur $ftp_server, pour l'utilisateur $ftp_user_name";
    }

$fichier    = $_FILES['fichier']['name'];
$taille     = $_FILES['fichier']['size'];
$tmp        = $_FILES['fichier']['tmp_name'];
$type        = $_FILES['fichier']['type'];
$erreur     = $_FILES['fichier']['error'];


echo  "Nom originel => $fichier 
";
echo  "Taille => $taille 
";
echo  "Adresse temporaire sur le serveur => $tmp 
";
echo  "Type de fichier => $type 
";
echo  "Code erreur => $erreur. 
";

$fichier    = $_FILES['fichier']['name'];
$source_file = $_FILES['fichier']['tmp_name'];
$destination_file = '/'.$fichier;


// Chargement d'un fichier
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// Verification du status du chargement
if (!$upload) {
        echo "Le chargement FTP a echoue";
    } else {
        echo "Chargement de $source_file vers $ftp_server en tant que $destination_file";
    }

// Fermeture du flux FTP
ftp_close($conn_id);
}
?> 


mais ce code a un souci:
il arrive bien a se connecter, mais visiblement il ne voit pas du tout le fichier que j ai selectionner dans la formulaire au préalable…

edit: avec ce code, on dirait qu il n y a plus aucune connexion au serveur ftp…
modification: le form avec ajout du enctype et dans le if pour l appel de la fonction le $_POST[‘fichier’][‘tmp_name’] !="" au lieu de $_POST[‘fichier’] !=""

edit: et voila le code est mis a jour et marche parfaitement!

merci d avance

essaye en rajoutant ENCTYPE=“multipart/form-data” dans ta balise

ca empire!!!
en rajoutant le enctype…j arrive plus a me connecter en ftp!!!

Et tu es sûr que ton path de destination est valide?

normalement oui…

mais j ai l impression que ca coince avant

j ai la forte impression que la connexion ne se fait jamais

dc forcement l envoi echoue…

nickel c etait juste dans l appel de la fonction le $_POST[‘fichier’] qu il fallait remplacer par $_FILES[‘fichier’]