les fonctions ftp

les fonctions ftp - PHP - Programmation

Marsh Posté le 25-11-2004 à 18:48:17    

peut on se servir des fonction ftp de PHP avec des données locales (pour remplacer un upload) ?

Reply

Marsh Posté le 25-11-2004 à 18:48:17   

Reply

Marsh Posté le 25-11-2004 à 18:51:00    

si le support ftp de php est actif et que tu as un serveur ftp en local alors tu peux


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 25-11-2004 à 23:43:16    

non mais je veux dire par exemple si j'utilise la fonction ftp_put() a la place de faire un is_uploaded_file($_FILES['file']['tmp']) (ou je sais plus trop quoi exactement), et que je fais chercher un fichier dans le pc de l'utilisateur... c possible ?

Reply

Marsh Posté le 26-11-2004 à 09:07:09    

dans le pc de l'utilisateur ? Pourquoi pas, mais ca implique mal de choses ca!

Reply

Marsh Posté le 26-11-2004 à 12:05:15    

bah en fait j'ai un probleme avec le timeout lors d'un upload de fichier (internet explorer stoppe un upload si ça depasse un certain temps), alors je voulais detourner le probleme par un ftp, en supprimant le enctype="multipart/form-data" de l'entete du formulaire et utiliser le <input type=file> pour la selection du fichier... et envoyer tout ça sur le serveur ! mais ça a pas l'air de marcher si facilement...

Reply

Marsh Posté le 26-11-2004 à 12:13:00    

freed102 a écrit :

non mais je veux dire par exemple si j'utilise la fonction ftp_put() a la place de faire un is_uploaded_file($_FILES['file']['tmp']) (ou je sais plus trop quoi exactement), et que je fais chercher un fichier dans le pc de l'utilisateur... c possible ?


 
c'est bien ce à quoi j'ai répondu


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 26-11-2004 à 12:22:42    

voici mon code :
 

Code :
  1. <?php
  2. if($submit)
  3. {
  4.     $bgpath="toto";
  5.     $rubrique="essai10";
  6.     $fichier=$_POST['background'];
  7.      $nomrep = $bgpath;
  8.       $nomfichier = $fichier;
  9.       $contenu = '';
  10.       $nom_hote = '01.23.45.56';
  11.       $num_port = 21;
  12.       $nom_utilisateur = 'toto';
  13.       $mot_passe = 'tata';
  14.       //Ouverture d'une connexion à l'hôte FTP
  15.       $id_connexion = ftp_connect($nom_hote, $num_port);
  16.       //Connexion de l'utilisateur
  17.      if(ftp_login($id_connexion, $nom_utilisateur, $mot_passe))
  18.      {
  19.      $infos.="connexion etablie";
  20.      }
  21.      else
  22.      {
  23.       $infos.="Erreur de connexion etablie";
  24.       }
  25.       //Accès au répertoire 'www'
  26.       ftp_chdir($id_connexion, 'public_html');
  27.       ftp_chdir($id_connexion, 'freed');
  28.       ftp_chdir($id_connexion, 'essaiftp');
  29.       //Téléchargement du fichier temporaire vers son nouvel emplacement
  30.       if(ftp_put($id_connexion, $fichier, $nomfichier, FTP_BINARY))
  31.       {
  32.       $infos.= '<h4>Le fichier $background a bien été envoyé</h4>';
  33.       }
  34.       else
  35.       {
  36.       $infos.="<h4>Le fichier $fichier  n'a pas pu etre envoyé</h4>";
  37.       }
  38.       //Fermeture de la connexion FTP
  39.       if(ftp_quit($id_connexion))
  40.       {
  41.        $infos.="<h4>Deconnexion effectuée avec succès</h4>";
  42.       }
  43.       else
  44.       {
  45.        $infos.="<h4>Impossible de deconnecter</h4>";
  46.       }
  47.       }
  48.       echo $infos;
  49. ?>
  50. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  51. <html>
  52. <head>
  53. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  54. <title>Document sans titre</title>
  55. </head>
  56. <body>
  57. <form name="form1"  method="post" action="<?php echo $PHP_SELF; ?>">
  58.   <p>
  59.     <input name="background" type="file" id="background">
  60. </p>
  61.   <p>
  62.     <input type="submit" name="submit" value="Envoyer">
  63. </p>
  64. </form>
  65. </body>
  66. </html>


 
en ligne ça donne ça :
 
http://clonecopy.net/freed/galerie/admin/ftp.php
 
ça se connecte parfaitement.. mais je peux pas envoyer un fichier local !


Message édité par freed102 le 26-11-2004 à 12:25:06
Reply

Marsh Posté le 26-11-2004 à 12:36:23    

Ahhhhhhhhhh !!! avec ftp_fput() ça a l'air de faire quelquechose !!!!!

Reply

Marsh Posté le 14-12-2004 à 00:27:59    

@freed102 : Ca fonctionne correctement maintenant ? j'ai le même problème, tu peux me montrer ton script corrigé stp?
 
Merci d'avance

Reply

Marsh Posté le 15-12-2004 à 14:56:27    

JuTs a écrit :

@freed102 : Ca fonctionne correctement maintenant ? j'ai le même problème, tu peux me montrer ton script corrigé stp?
 
Merci d'avance


 
non j'ai laché l'affaire pour le moment... je crois que c pas adapté à ce que je veux faire... en fait ça doit connecter ton serveur à un autre serveur.. mais pas la machine de l'utilisateur a ton serveur...

Reply

Marsh Posté le 15-12-2004 à 14:56:27   

Reply

Marsh Posté le 15-12-2004 à 15:00:13    

freed102 a écrit :

bah en fait j'ai un probleme avec le timeout lors d'un upload de fichier (internet explorer stoppe un upload si ça depasse un certain temps), alors je voulais detourner le probleme par un ftp, en supprimant le enctype="multipart/form-data" de l'entete du formulaire et utiliser le <input type=file> pour la selection du fichier... et envoyer tout ça sur le serveur ! mais ça a pas l'air de marcher si facilement...


 
Il stoppe au bout de combien de temps ?

Reply

Marsh Posté le 15-12-2004 à 15:01:59    

FlorentG a écrit :

Il stoppe au bout de combien de temps ?


je sais pas exactement.. ça doit etre 1 minute ou deux... pour l'envoi de gros fichiers ou plusieurs fichiers... c génant !

Reply

Marsh Posté le 15-12-2004 à 15:05:21    

Bizarroïde, j'ai déjà fait des envois de fichier via explorer et formulaire standard (donc en multipart/form-data) qui duraient plus de 10-15 minutes :??:

Reply

Marsh Posté le 15-12-2004 à 15:06:04    

ah moi ça n'attends pas 15 min ! lol

Reply

Marsh Posté le 15-12-2004 à 15:13:25    

là je viens de tenter.. j'ai attendu genre 7 min... et ça a planté !
 
http://clonecopy.net/php/download_files/index.php

Reply

Marsh Posté le 15-12-2004 à 15:23:55    

Je suis en train de faire l'essai...

Reply

Marsh Posté le 15-12-2004 à 15:25:18    

vui tu me diras ! :) mais bon au bout d'un moment ça fait une erreur "impossible d'afficher la page" avec en titre "serveur introuvable"

Reply

Marsh Posté le 15-12-2004 à 15:28:32    

Ah ouais, effectivement :D. Ou alors ça vient du serveur :??:

Reply

Marsh Posté le 15-12-2004 à 15:30:57    

Ouais, apparemment ça peut venir du max script execution time, essaye de le changer histoire de voir...

Reply

Marsh Posté le 15-12-2004 à 15:32:29    

bah je sais pas... j'ai fait un ini_set(max_execution_time...) mais ça change pas !

Reply

Marsh Posté le 15-12-2004 à 15:34:02    

Ah, en fait c'est plutot le max size disponible qu'il faut changer sûrement :http://fr.php.net/manual/en/features.file-upload.php

Reply

Marsh Posté le 15-12-2004 à 15:49:44    

j'ai tenté ça :
 
ini_set(max_execution_time,50000);
ini_set(max_input_time,50000);
ini_set(post_max_size,100000000);
ini_set(memory_limit,150000000);
ini_set(upload_max_filesize,100000000);
 
on va voir !! lol ! (j'y vais pas de main morte moi !)

Reply

Marsh Posté le 15-12-2004 à 15:50:40    

et non ! RATÉ ! lol

Reply

Marsh Posté le 15-12-2004 à 15:56:45    

J'ai trouvé :
 
Déjà ajoute ceci à ton formulaire : enctype="multipart/form-data"  
 
ensuite,  
 
ligne 7 : $fichier=$_FILES['background'];
 
ligne 10 : $nomfichier = $_FILES['background']['tmp_name'];
 

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed