IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Upload avec FTP sur un autre serveur


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Points : 56
    Points
    56
    Par défaut Upload avec FTP sur un autre serveur
    Bonjour,
    Voila j'aimerai savoir s'il est possible, uploader un fichier à partir d'un formulaire d'un heberger chez "X" et d'envoyer le fichier chez un hebergeur "Y".

    J'ai essayer avec les fonctions ftp mais sans succés, donc soit c'est moi qui me trompe dans mon code, soit ce n'est pas possible.

    Je veux faire cela car l'espace disque de mon hebergeur gratuit est presque plein, et je voudrais pouvoir stocké mes fichiers en sur un nouvel espace hebergement gratuit.

    Voici le code que j'ai utilisé sans succés:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    $MAX_FILE_SIZE = 250000;
     
     
    if (isset($_FILES['fichier']) && is_uploaded_file($_FILES['fichier']['tmp_name'])) 
    {        echo "Oui";
            $fname = $_FILES['fichier']['name'];
    		$ftmp  = $_FILES['fichier']['tmp_name'];
           	$ftype = $_FILES['fichier']['type'];
    		$fsize = $_FILES['fichier']['size'];
     
    		$ftp_server = "nom de l'hote";
    		$ftp_user = "nom de l'utilisateur";
    		$ftp_pass = "mot de passe";// Mise en place d'une connexion basique
    		$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); // Tentative d'identification
    		ftp_login($conn_id, $ftp_user, $ftp_pass);
     
    		$newfile= "/htdocs/imagecpl/$fname";
    		$file = $ftmp ;
    		ftp_put($conn_id, $newfile, $ftmp, FTP_BINARY);
     
    		 chmod($newfile,0777);
     
     
    		ftp_close($conn_id);


    Merci d'avance pour vos réponse.

  2. #2
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Aux dernières nouvelles (ca fait bien longtemps que je ne suis plus chez Free), les fonctions ftp_* sont desactivees.

    J'ai pas retrouve al page qui liste toutes les fonctions desactivees mais elle existe encore surement dans la doc de l'assistance Free, si Free est bien sur l'hebergeur dont tu parles ^^.
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Points : 56
    Points
    56
    Par défaut
    Non ce n'est pas free, est ce que cela veut dire que si l'hebergeur accepte la fonction ftp cela est possible ?

  4. #4
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Oui, il est tout a fait possible d'envoyer un fichier via les fonctions ftp_* . Tu peux faire a peu près tout ce qu'on peut demander a un client FTP logiciel grâce a ces fonctions et l'envoi de fichier est une fonction de base .

    J'ai pas encore teste ton script mais a vue d'œil, les fonctions nécessaires y sont. ftp_put permet d'envoyer un fichier par exemple.

    Pour que je t'aide plus, il faudrait que tu me donne ton message d'erreur, ou plus d'informations concernant tes difficultés.
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Points : 56
    Points
    56
    Par défaut
    Ok merci,
    Ben j'ai pas de message d'erreur, le seul truc c'est que le fichier ne s'uploade pas.
    Je me demande si le probleme ne vient pas du fait de la récupération du fichier via le formulaire.....
    Bon en attendant vos réponses je vais continuer à chercher et tester de mon coté.

  6. #6
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Si tu n'as pas de message d'erreur il ne pass epeut etre meme pas dans ton if, tu as bien specifie : " enctype="multipart/form-data" comme propriete dans ta balise form ?
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Points : 56
    Points
    56
    Par défaut
    Oui j'ai bien ça dans mon formulaire...

  8. #8
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Bonjour,

    Je viens de faire un test avec ton script et le fichier s'upload bien. Voila le code precis que j'ai utilise :

    HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
    <form enctype="multipart/form-data" method="POST"  action="">
    <input type="file" name="fichier" />
    <input type="submit" value="Envoyer" />
    </form>
    ...
    PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    $MAX_FILE_SIZE = 250000;
     
    if (isset($_FILES['fichier']) && is_uploaded_file($_FILES['fichier']['tmp_name'])) {        
     
            $fname = $_FILES['fichier']['name'];
            $ftmp  = $_FILES['fichier']['tmp_name'];
           	$ftype = $_FILES['fichier']['type'];
    	$fsize = $_FILES['fichier']['size'];
     
    	$ftp_server = "";
    	$ftp_user = "";
    	$ftp_pass = "";// Mise en place d'une connexion basique
    	$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); // Tentative d'identification
    	ftp_login($conn_id, $ftp_user, $ftp_pass);
     
    	ftp_put($conn_id, $fname, $ftmp, FTP_BINARY);
     
    	// chmod($newfile,0777);
     
     
    	ftp_close($conn_id);
     
    }
    Il me semble egalement que MAX_FILE_SIZE doit etre utilise dans le formulaire HTML pour etre pris en compte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <INPUT type=hidden name=MAX_FILE_SIZE  VALUE=2048>
    J'ai vu que tu utilisait un path vers un dossier "/htdocs/imagecpl/$fname", le dossier imagecpl existe-t-il sur le serveur ?

    Le POST est-il en majuscule dans ton form (ca change quelque chose parfois) ?
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Points : 56
    Points
    56
    Par défaut
    Bon je comprend pas, le fichier se telecharge, mais il met un temps trés long et à l'arrivé son poid est de 0.

  10. #10
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Tu upload quoi comme fichier ? As-tu essaye de le mettre a la racine sans specifier de dossier dans un premier temps ?
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Points : 56
    Points
    56
    Par défaut
    j'upload des petites images de 250Ko maxi.

  12. #12
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Le fait que ce soit long peut venir d'un debit d'upload leger en fonction de ta vitesse de connexion. Si Le fichier met du temps a se charger, tu as peut-etre un message d'erreur du type "connection timeout", ou le "delai d'attente est depasse" ? Cela expliquerai pourquoi il n'est pas entier sur le serveur.

    Mais pour reprendre les choses dpeuis le debut, si comprend bien ton cas, tu upload ton fichier sur un premier serveur grace au protocole http (fonction is_uploaded_file) puis tu le transfert via ftp sur un autre serveur. Tu fais donc ton upload 2 fois, et c'est pas vraiment optimise ... Pourquoi ne pas envoyer le fichier directement sur le 2eme serveur ?
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


Discussions similaires

  1. [CKEditor] Upload sur un autre serveur
    Par LoKiDemon dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 02/09/2008, 11h10
  2. Uploader un fichier sur un autre serveur
    Par sktru dans le forum ASP
    Réponses: 8
    Dernier message: 26/02/2008, 11h34
  3. [FTP] Lister les fichiers sur un autre serveur
    Par lenoil dans le forum Langage
    Réponses: 3
    Dernier message: 04/04/2007, 11h07
  4. [Sécurité] Faire de l'upload sur un autre serveur
    Par Oberown dans le forum Langage
    Réponses: 5
    Dernier message: 05/05/2006, 15h36
  5. Upload sur un autre serveur
    Par gerrard dans le forum ASP
    Réponses: 1
    Dernier message: 06/01/2006, 23h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo