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 :

photo miniature vers plein écran


Sujet :

Langage PHP

  1. #21
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    c'est $image_p que tu doit sauver c'est elle qui est redimensionnée

    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
    // Resample
    $image_p = imagecreatetruecolor($width, $height);
    $image = imagecreatefromjpeg($Fichier['tmp_name']);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
    
    // Création d'une image minature  - Redimensionner l'image
    	$taille_image = getimagesize($Fichier['tmp_name']); // getimagesize, récupère la hauteur et la largeur d'une image, sous forme de tableau
    	$image_choisie =  imagecreatefromjpeg($Fichier['tmp_name']); // Call_user_fun récupere l'identifiant de l'image, imagecreateform sauvegarde une copie
    	$nouvelle_largeur = 176; // Nouvelle largeur de mon image
    
    	$reduction = ( ($nouvelle_largeur * 100) / $taille_image[0] ); // Calule la ratio qui correspond au quotient de l'ancienne largeur par la nouvelle. C'est un %tage, on multiplie donc par 100
    	$nouvelle_hauteur = ($taille_image[1] * $reduction/100 ); // // Calule la nouvelle hauteur en application la ratio à l'ancienne hauteur. On oublie pas de diviser par 100 sinon notre dimension, reste en %
    
    //Création de la miniature
    	$nouvelle_image = imagecreatetruecolor($nouvelle_largeur , $nouvelle_hauteur); // C
    	imagecopyresampled($nouvelle_image, $image_choisie, 0 , 0 , 0 , 0 , $nouvelle_largeur, $nouvelle_hauteur, $taille_image['0'], $taille_image['1']);
    
    	imagejpeg($nouvelle_image, 'photos/small/' . $fichier , 100);
        imagejpeg($image_choisie , 'photos/' . $fichier  , 176);
        imagejpeg($image_p , 'photos/' . $fichier  , 100);
    	imagedestroy($nouvelle_image); // Supprimer notre image de sauvegarde
     	imagedestroy($image_choisie); // Supprimer notre image de sauvegarde

  2. #22
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 33
    Points : 13
    Points
    13
    Par défaut
    j'ai déjà essayé ce que tu as demandé mais puisque ça ne marchait pas je suis revenu à l'autre version.
    avec les modifications que tu as demandé les photos enregistrées ne sont pas redimensionnées et j'ai une série d'erreur du fait de la ligne que j'ai supprimée $image_choisie = imagecreatefromjpeg($Fichier['tmp_name']); // Call_user_fun récupere l'identifiant de l'image, imagecreateform sauvegarde une copie

    voici les erreurs:
    ( ! ) Notice: Undefined variable: image_choisie in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 135
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0

    ( ! ) Warning: imagecopyresampled() expects parameter 2 to be resource, null given in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 135
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0
    2 2.4159 42951752 imagecopyresampled ( ) ..\ajouter_backoffice_confirm.php:135

    ( ! ) Notice: Undefined variable: image_choisie in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 140
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0

    ( ! ) Warning: imagedestroy() expects parameter 1 to be resource, null given in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 140
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0
    2 2.5132 42705552 imagedestroy ( ) ..\ajouter_backoffice_confirm.php:140


    photo ajouté avec succès !
    ( ! ) Notice: Undefined variable: image_choisie in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 135
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0

    ( ! ) Warning: imagecopyresampled() expects parameter 2 to be resource, null given in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 135
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0
    2 4.6691 42951744 imagecopyresampled ( ) ..\ajouter_backoffice_confirm.php:135

    ( ! ) Notice: Undefined variable: image_choisie in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 140
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0

    ( ! ) Warning: imagedestroy() expects parameter 1 to be resource, null given in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 140
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0
    2 4.7878 42705544 imagedestroy ( ) ..\ajouter_backoffice_confirm.php:140


    photo ajouté avec succès !
    ( ! ) Notice: Undefined variable: image_choisie in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 135
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0

    ( ! ) Warning: imagecopyresampled() expects parameter 2 to be resource, null given in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 135
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0
    2 6.9617 44293920 imagecopyresampled ( ) ..\ajouter_backoffice_confirm.php:135

    ( ! ) Notice: Undefined variable: image_choisie in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 140
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0

    ( ! ) Warning: imagedestroy() expects parameter 1 to be resource, null given in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 140
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0
    2 7.1224 44180608 imagedestroy ( ) ..\ajouter_backoffice_confirm.php:140


    photo ajouté avec succès !
    ( ! ) Notice: Undefined variable: image_choisie in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 135
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0

    ( ! ) Warning: imagecopyresampled() expects parameter 2 to be resource, null given in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 135
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0
    2 9.3542 44293904 imagecopyresampled ( ) ..\ajouter_backoffice_confirm.php:135

    ( ! ) Notice: Undefined variable: image_choisie in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 140
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0

    ( ! ) Warning: imagedestroy() expects parameter 1 to be resource, null given in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 140
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0
    2 9.5215 44180592 imagedestroy ( ) ..\ajouter_backoffice_confirm.php:140


    photo ajouté avec succès !Votre annonce a bien été ajoutée.
    et 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
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
      <?php
    // Parametres mysql à remplacer par les vôtres
    define('DB_SERVER', 'localhost'); // serveur mysql
    define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur
    define('DB_SERVER_PASSWORD', ''); // mot de passe
    define('DB_DATABASE', 'partners'); // nom de la base
    // Connexion au serveur mysql
    $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, 
    DB_SERVER_PASSWORD) 
    or die('Impossible de se connecter : ' . mysql_error());
    // sélection de la base de données
    mysql_select_db(DB_DATABASE, $connect);
    $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis:
    <br/><br/>";
    $msg_ok = "Votre annonce a bien été ajoutée.<br/><br/>";
    $message = $msg_erreur;
    // vérification des champs 
    if (empty($_POST['ville'])) 
      $message .= "La ville<br/>";
    if (empty($_POST['quartier'])) 
      $message .= "Le quartier<br/>";
    if (empty($_POST['surface'])) 
      $message .= "La Surface<br/>";
    if (empty($_POST['prix'])) 
      $message .= "Le prix<br/>";
     
      //var_dump($_FILES['photo_1']); /*décommenter pour voir le contenu*/
    $countFiles=count($_FILES['photo_1']['name']);/* pour obtenir le nombre de fichier téléchargés */
    foreach($_FILES['photo_1'] as $key => $value) /* parcours le tableau des fichiers */
    {
            for($Indice=0;$Indice<$countFiles;$Indice++) /* pour chaque fichier */
            {
                 $Fichiers[$Indice][$key]=$_FILES['photo_1'][$key][$Indice]; /* construit un tableau avec les informations */
            }
    }
    //var_dump($Fichiers); /*décommenter pour voir le contenu*/
    for($Indice=0;$Indice<$countFiles;$Indice++) /* pour chaque fichier */
    {
            $Fichier=$Fichiers[$Indice];
            if($Fichier['error']==0) /* si il n'y a pas d'erreur */
            {
     
    $pic=($Fichier['name']);
    $LePic[$Indice]=$pic;
    $dossier = 'photos/'; 
    $fichier = basename($Fichier['name']); 
    $taille_maxi = 5000000; 
    $taille = $Fichier['size'];
    $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.JPG'); 
    $extension = strrchr($Fichier['name'], '.'); 
    //Début des vérifications de sécurité... 
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau 
    { 
    $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...'; 
    } 
    if($taille>$taille_maxi) 
    { 
    $erreur = 'Le fichier est trop gros...'; 
    } 
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload 
    { 
    //On formate le nom du fichier ici... 
    $fichier = strtr($fichier, 
    'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
    'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); 
    $LeFichier[$Indice] = $fichier;
     
    // The file
    $Fichier['tmp_name'];
     
    // Set a maximum height and width
    $width = 1024;
    $height = 768;
     
    // Get new dimensions
    list($width_orig, $height_orig) = getimagesize($Fichier['tmp_name']);
     
    $ratio_orig = $width_orig/$height_orig;
     
    if ($width/$height > $ratio_orig) {
       $width = $height*$ratio_orig;
    } else {
       $height = $width/$ratio_orig;
    }
     
    // Resample
    $image_p = imagecreatetruecolor($width, $height);
    $image = imagecreatefromjpeg($Fichier['tmp_name']);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
     
    // Création d'une image minature  - Redimensionner l'image
    	$taille_image = getimagesize($Fichier['tmp_name']); // getimagesize, récupère la hauteur et la largeur d'une image, sous forme de tableau
    	$nouvelle_largeur = 176; // Nouvelle largeur de mon image
     
    	$reduction = ( ($nouvelle_largeur * 100) / $taille_image[0] ); // Calule la ratio qui correspond au quotient de l'ancienne largeur par la nouvelle. C'est un %tage, on multiplie donc par 100
    	$nouvelle_hauteur = ($taille_image[1] * $reduction/100 ); // // Calule la nouvelle hauteur en application la ratio à l'ancienne hauteur. On oublie pas de diviser par 100 sinon notre dimension, reste en %
     
    //Création de la miniature
    	$nouvelle_image = imagecreatetruecolor($nouvelle_largeur , $nouvelle_hauteur); // C
    	imagecopyresampled($nouvelle_image, $image_choisie, 0 , 0 , 0 , 0 , $nouvelle_largeur, $nouvelle_hauteur, $taille_image['0'], $taille_image['1']);
     
    	imagejpeg($nouvelle_image, 'photos/small/' . $fichier , 100);
        imagejpeg($image_p , 'photos/' . $fichier  , 100);
    	imagedestroy($nouvelle_image); // Supprimer notre image de sauvegarde
     	imagedestroy($image_choisie); // Supprimer notre image de sauvegarde
     
    if(move_uploaded_file($Fichier['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné... 
    { 
    echo '<br/><br/>photo ajouté avec succès !'; 
    } 
    else //Sinon (la fonction renvoie FALSE). 
    { 
    echo '<br/><br/>Echec de l\'upload !'; 
    } 
    } 
    else 
    { 
    echo $erreur; 
    } 
    } /* ne pas oublier de fermer le if */
    } /* ne pas oublier de fermer le for */
    // si un champ est vide, on affiche le message d'erreur
    if (strlen($message) > strlen($msg_erreur)) {
     
      echo $message;
     
    // sinon c'est ok 
    } else {
     
      foreach($_POST as $index => $valeur) {
        $$index = mysql_real_escape_string(trim($valeur));
      }
     
     /* $sql = "INSERT INTO annonce VALUES ('', '".$type_bien."', '".$type_ope."', 
        '".$ville."', '".$quartier."', '".$surface."', '".$nombre_chambre."',
        '".$prix."', '".$pic."', '".$fichier."')";*/
     $sql = "INSERT INTO annonce VALUES ('', '".$type_bien."', '".$type_ope."', 
                    '".$ville."', '".$quartier."', '".$surface."', '".$nombre_chambre."',
                    '".$prix."', 
                    '".$LePic[0]."', '".$LeFichier[0]."', 
                    '".$LePic[1]."', '".$LeFichier[1]."', 
                    '".$LePic[2]."', '".$LeFichier[2]."', 
                    '".$LePic[3]."', '".$LeFichier[3]."')";
     
      $res = mysql_query($sql);
     
      if ($res) {
        echo $msg_ok;
      } else {
        echo mysql_error();
      }
     
    }
     
    ?>

  3. #23
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 33
    Points : 13
    Points
    13
    Par défaut
    je voudrais ajouter que avec ce code modifié et la ligne supprimé, la miniature est crée mais il n'y a rien c'est une image noire qui est crée dans le dossier SMALL/

  4. #24
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    Je crois que tu devrais revoir ton code pas a pas et comprendre ce que fait chaque ligne
    les erreurs c'est parce que tu a encore des réferences $image_choisie (désolé mais je te donne des lignes directrices si je doit corrigé ton code ligne par ligne, j'aurais plus vite fait de le faire moi même, donc essaye de corriger les erreurs par toi même)

  5. #25
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    cela dit



    ( ! ) Notice: Undefined variable: image_choisie in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 135
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0

    ( ! ) Warning: imagecopyresampled() expects parameter 2 to be resource, null given in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 135
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0
    2 2.4159 42951752 imagecopyresampled ( ) ..\ajouter_backoffice_confirm.php:135

    ( ! ) Notice: Undefined variable: image_choisie in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 140
    Call Stack
    # Time Memory Function Location
    1 0.0073 418712 {main}( ) ..\ajouter_backoffice_confirm.php:0

    c(est po trop compliqué a debuger...


    image_choisie => po définie !

    boucle infini, et vérifier l’existence des variables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if( isset ( $image_choisie ) ) {
     
    //>next
    }
    else{
     
    }

  6. #26
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 33
    Points : 13
    Points
    13
    Par défaut
    tu as tout à fait raison je suis débutant et je suis entrain d'apprendre et on apprend pas en ce faisant mâcher tous le travail. j'ai réussi à résoudre les erreurs $image_choisie mais je crois que je vais reprendre tout le code depuis le début pas au tout début quand même mais depuis le point où j'arrive à uploader les images et à créer les miniatures. puisque c'est le redimensionnement qui pose problème je vais revoir cette partie. ça va pas être de la tarte j'ai peut être attaqué l’apprentissage du php par le difficile et j'ai sauté des étapes.

    merci ASCITO

  7. #27
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 33
    Points : 13
    Points
    13
    Par défaut
    bonjour, me voila de retour après avoir tenté de m'en sortir tout seul. j'ai modifié le code et essayé de faire un deuxième redimensionnement après celui des miniatures mais ça passe toujours pas. les miniatures sont bien créées et enregistrées dans leur dossier mais la photo uploadé pour laquelle j'ai aussi créé un redimensionnement n'est quand à elle pas traité et enregistré comme tel dans le dossier pourtant c'est bien la photo redimensionnée qui doit être enregistré dans le dossier photos. une dès photo à réussi à être redimensionné une fois à la largeur spécifié mais les autres ne l'on pas étaient et quand j'ai tenté de re uploader les photos le redimensionnement de la photo à disparu. je joins le code que j'ai eu à modifier pour créer un redimensionnement de la photo et un redimensionnement pour la création de la miniature.

    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
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
      <?php
    // Parametres mysql à remplacer par les vôtres
    define('DB_SERVER', 'localhost'); // serveur mysql
    define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur
    define('DB_SERVER_PASSWORD', ''); // mot de passe
    define('DB_DATABASE', 'partners'); // nom de la base
    // Connexion au serveur mysql
    $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, 
    DB_SERVER_PASSWORD) 
    or die('Impossible de se connecter : ' . mysql_error());
    // sélection de la base de données
    mysql_select_db(DB_DATABASE, $connect);
    $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis:
    <br/><br/>";
    $msg_ok = "Votre annonce a bien été ajoutée.<br/><br/>";
    $message = $msg_erreur;
    // vérification des champs 
    if (empty($_POST['ville'])) 
      $message .= "La ville<br/>";
    if (empty($_POST['quartier'])) 
      $message .= "Le quartier<br/>";
    if (empty($_POST['surface'])) 
      $message .= "La Surface<br/>";
    if (empty($_POST['prix'])) 
      $message .= "Le prix<br/>";
     
      //var_dump($_FILES['photo_1']); /*décommenter pour voir le contenu*/
    $countFiles=count($_FILES['photo_1']['name']);/* pour obtenir le nombre de fichier téléchargés */
    foreach($_FILES['photo_1'] as $key => $value) /* parcours le tableau des fichiers */
    {
            for($Indice=0;$Indice<$countFiles;$Indice++) /* pour chaque fichier */
            {
                 $Fichiers[$Indice][$key]=$_FILES['photo_1'][$key][$Indice]; /* construit un tableau avec les informations */
            }
    }
    //var_dump($Fichiers); /*décommenter pour voir le contenu*/
    for($Indice=0;$Indice<$countFiles;$Indice++) /* pour chaque fichier */
    {
            $Fichier=$Fichiers[$Indice];
            if($Fichier['error']==0) /* si il n'y a pas d'erreur */
            {
     
    $pic=($Fichier['name']);
    $LePic[$Indice]=$pic;
    $dossier = 'photos/'; 
    $fichier = basename($Fichier['name']); 
    $taille_maxi = 5000000; 
    $taille = $Fichier['size'];
    $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.JPG'); 
    $extension = strrchr($Fichier['name'], '.'); 
    //Début des vérifications de sécurité... 
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau 
    { 
    $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...'; 
    } 
    if($taille>$taille_maxi) 
    { 
    $erreur = 'Le fichier est trop gros...'; 
    } 
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload 
    { 
    //On formate le nom du fichier ici... 
    $fichier = strtr($fichier, 
    'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
    'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); 
    $LeFichier[$Indice] = $fichier;
     
     
    // Création d'une image minature  - Redimensionner l'image
    	$taille_image = getimagesize($Fichier['tmp_name']); // getimagesize, récupère la hauteur et la largeur d'une image, sous forme de tableau
    	$image_choisie =  imagecreatefromjpeg($Fichier['tmp_name']); // Call_user_fun récupere l'identifiant de l'image, imagecreateform sauvegarde une copie
    // Création d'une image minature  - Redimensionner l'image
    	$taille_image2 = getimagesize($Fichier['tmp_name']); // getimagesize, récupère la hauteur et la largeur d'une image, sous forme de tableau
    	$image_choisie2 =  imagecreatefromjpeg($Fichier['tmp_name']); // Call_user_fun récupere l'identifiant de l'image, imagecreateform sauvegarde une copie
    	$nouvelle_largeur = 800; // Nouvelle largeur de mon image
    	$nouvelle_largeur2 = 176; // Nouvelle largeur de mon image ( miniature )
     
    	$reduction = ( ($nouvelle_largeur * 100) / $taille_image[0] ); // Calule la ratio qui correspond au quotient de l'ancienne largeur par la nouvelle. C'est un %tage, on multiplie donc par 100
    	$reduction2 = ( ($nouvelle_largeur2 * 100) / $taille_image2[0] ); // Calule la ratio qui correspond au quotient de l'ancienne largeur par la nouvelle. C'est un %tage, on multiplie donc par 100 ( MINIATURE )
    	$nouvelle_hauteur = ($taille_image[1] * $reduction/100 ); // // Calule la nouvelle hauteur en application la ratio à l'ancienne hauteur. On oublie pas de diviser par 100 sinon notre dimension, reste en %
    	$nouvelle_hauteur2 = ($taille_image2[1] * $reduction2/100 ); // // Calule la nouvelle hauteur en application la ratio à l'ancienne hauteur. On oublie pas de diviser par 100 sinon notre dimension, reste en % ( MINIATURE )
     
    //redimenssionnement image
    	$nouvelle_image = imagecreatetruecolor($nouvelle_largeur , $nouvelle_hauteur); // C
    	imagecopyresampled($nouvelle_image, $image_choisie, 0 , 0 , 0 , 0 , $nouvelle_largeur, $nouvelle_hauteur, $taille_image['0'], $taille_image['1']);
    //Création de la miniature
    	$nouvelle_image2 = imagecreatetruecolor($nouvelle_largeur2 , $nouvelle_hauteur2); // C
    	imagecopyresampled($nouvelle_image2, $image_choisie2, 0 , 0 , 0 , 0 , $nouvelle_largeur2, $nouvelle_hauteur2, $taille_image2['0'], $taille_image2['1']);
     
    	imagejpeg($nouvelle_image , 'photos/' . $fichier  , 100);
    	imagejpeg($nouvelle_image2, 'photos/small/' . $fichier , 100);
    	imagedestroy($nouvelle_image2); // Supprimer notre image de sauvegarde
     	imagedestroy($nouvelle_image); // Supprimer notre image de sauvegarde
     
    if(move_uploaded_file($Fichier['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné... 
    { 
    echo '<br/><br/>photo ajouté avec succès !'; 
    } 
    else //Sinon (la fonction renvoie FALSE). 
    { 
    echo '<br/><br/>Echec de l\'upload !'; 
    } 
    } 
    else 
    { 
    echo $erreur; 
    } 
    } /* ne pas oublier de fermer le if */
    } /* ne pas oublier de fermer le for */
    // si un champ est vide, on affiche le message d'erreur
    if (strlen($message) > strlen($msg_erreur)) {
     
      echo $message;
     
    // sinon c'est ok 
    } else {
     
      foreach($_POST as $index => $valeur) {
        $$index = mysql_real_escape_string(trim($valeur));
      }
     
     /* $sql = "INSERT INTO annonce VALUES ('', '".$type_bien."', '".$type_ope."', 
        '".$ville."', '".$quartier."', '".$surface."', '".$nombre_chambre."',
        '".$prix."', '".$pic."', '".$fichier."')";*/
     $sql = "INSERT INTO annonce VALUES ('', '".$type_bien."', '".$type_ope."', 
                    '".$ville."', '".$quartier."', '".$surface."', '".$nombre_chambre."',
                    '".$prix."', 
                    '".$LePic[0]."', '".$LeFichier[0]."', 
                    '".$LePic[1]."', '".$LeFichier[1]."', 
                    '".$LePic[2]."', '".$LeFichier[2]."', 
                    '".$LePic[3]."', '".$LeFichier[3]."')";
     
      $res = mysql_query($sql);
     
      if ($res) {
        echo $msg_ok;
      } else {
        echo mysql_error();
      }
     
    }
     
    ?>
    à noter que j'ai souvent une erreur : Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\adminpartners\ajouter_backoffice_confirm.php on line 120
    mais la ça doit etre la faute du serveur local wamp qui met du temps pour uploader les fichiers. si c'est pas le cas veuillez me corriger svp. merci d'avance

  8. #28
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    patrick tu es génial!

Discussions similaires

  1. [WD-2003] plein écran décalé vers le bas
    Par grping dans le forum Word
    Réponses: 0
    Dernier message: 09/11/2009, 17h19
  2. Perte du device en plein écran
    Par Dranor dans le forum DirectX
    Réponses: 2
    Dernier message: 10/09/2003, 09h24
  3. Thread et affichage direct3D plein écran
    Par Harry_polin dans le forum DirectX
    Réponses: 8
    Dernier message: 13/03/2003, 22h22
  4. Réponses: 17
    Dernier message: 17/10/2002, 20h06
  5. plein écran
    Par patapetz dans le forum OpenGL
    Réponses: 9
    Dernier message: 21/08/2002, 14h15

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