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

PHP & Base de données Discussion :

Upload d'image via serveur ftp


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Upload d'image via serveur ftp
    Bonjour,

    Voila j'ai un petit problème, je voudrais uploader des images 533x400 .jpg avec le nom du fichier qui doit s'appeler par un numéro (1...99.jpg) via un formulaire sur une interface d'administration avec une connexion ftp quand je clique sur le bouton upload
    Voici le code:

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    <?php
    echo '<form action="importimg.php" method="post" enctype="multipart/form-data">';
    echo 'Click the Browse button to find the file you wish to upload';
    echo '<input type="file" name="imagefile">';
    echo '<INPUT TYPE="submit" name="upload" value="upload">';
    echo '</form>';
    $conn_id = ftp_connect("XXXX.XXXX.com") or die("Connexion au FTP impossible");
    $ftp_user = "xxxxx";
    $ftp_pass = "xxxxxxxx";
     // Tentative d'identification
    if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
       echo "Connection au FTP r&eacute;ussi\n";
       } 
     else
     {
     echo "Connexion impossible\n";
       }
    ?>  
    <?php
    echo'coucou';
    /************************************************************
     * Definition des constantes / tableaux et variables
     *************************************************************/
     
    // Constantes
    define('TARGET', '../mosaique/');    // Repertoire cible
    define('MAX_SIZE', 100000);    // Taille max en octets du fichier
    define('WIDTH_MAX', 533);    // Largeur max de l'image en pixels
    define('HEIGHT_MAX', 400);    // Hauteur max de l'image en pixels
     
    // Tableaux de donnees
    $tabExt = array('jpg','jpeg');    // Extensions autorisees
    $infosImg = array();
     
    // Variables
    $extension = '';
    $message = '';
    $nomImage = '';
     
    /************************************************************
     * Creation du repertoire cible si inexistant
     *************************************************************/
    if( !is_dir(TARGET) ) {
      if( !mkdir(TARGET, 0755) ) {
        exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !');
      }
    }
     
    /************************************************************
     * Script d'upload
     *************************************************************/
    if(!empty($_POST))
    {
      // On verifie si le champ est rempli
      if( !empty($_FILES['fichier']['name']) )
      {
        // Recuperation de l'extension du fichier
        $extension  = pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION);
     
        // On verifie l'extension du fichier
        if(in_array(strtolower($extension),$tabExt))
        {
          // On recupere les dimensions du fichier
          $infosImg = getimagesize($_FILES['fichier']['tmp_name']);
     
          // On verifie le type de l'image
          if($infosImg[2] = 2)
          {
            // On verifie les dimensions et taille de l'image
            if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE))
            {
              // Parcours du tableau d'erreurs
              if(isset($_FILES['fichier']['error']) 
                && UPLOAD_ERR_OK === $_FILES['fichier']['error'])
              {
                // On renomme le fichier
                $nomImage = md5(uniqid()) .'.'. $extension;
     
                // Si c'est OK, on teste l'upload
                if(move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET.$nomImage))
                {
                  $message = 'Upload réussi !';
                }
                else
                {
                  // Sinon on affiche une erreur systeme
                  $message = 'Problème lors de l\'upload !';
                }
              }
              else
              {
                $message = 'Une erreur interne a empêché l\'uplaod de l\'image';
              }
            }
            else
            {
              // Sinon erreur sur les dimensions et taille de l'image
              $message = 'Erreur dans les dimensions de l\'image !';
            }
          }
          else
          {
            // Sinon erreur sur le type de l'image
            $message = 'Le fichier à uploader n\'est pas une image !';
          }
        }
        else
        {
          // Sinon on affiche une erreur pour l'extension
          $message = 'L\'extension du fichier est incorrecte !';
        }
      }
      else
      {
        // Sinon on affiche une erreur pour le champ vide
        $message = 'Veuillez remplir le formulaire svp !';
      }
    }
    ?>
    le probleme c'est que la connexion ftp reussi bien mais avant que je ne clik sur le bouton upload et ensuite quand je met l'image il ne se passe rien
    et aucun message d'erreur ne saffiche.

    Comment faire?
    Avez vous un script mieux que celui la?

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    le probleme c'est que la connexion ftp reussi bien mais avant que je ne clik sur le bouton upload
    C'est normal puisque tu effectues systématiquement la connexion au serveur FTP, y compris lors du premier affichage de la page.

    et ensuite quand je met l'image il ne se passe rien
    Actuellement ton script établi une connexion FTP mais il n'y a aucune autre action FTP écrite.

    Le fichier uploadé est actuellement copié sur ton serveur web.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Transfert via serveur FTP
    Par kavdo34 dans le forum Général Java
    Réponses: 4
    Dernier message: 03/03/2010, 10h20
  2. Réponses: 1
    Dernier message: 22/07/2008, 20h12
  3. [Upload] envoyer image sur serveur
    Par maubird dans le forum Langage
    Réponses: 2
    Dernier message: 01/07/2008, 11h54
  4. [Upload] Uploader une image sur serveur
    Par josémaria dans le forum Langage
    Réponses: 17
    Dernier message: 30/10/2006, 22h11
  5. [Upload] upload d'image par connexion ftp
    Par pimpmyride dans le forum Langage
    Réponses: 2
    Dernier message: 08/03/2006, 00h52

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