Bonsoir,
Comment vérifier que l’image ne dépasse pas 900x300 lors de l’upload ?
Le code auquel j’aimerai ajouter cette condition est celui de l’upload d’image dans le tutoriel (Créer un portfolio de A à Z)
Voici le code :

$work_id = $db->quote($_GET['id']);
        $files = $_FILES['images'];
        $images = array();
        require '../lib/image.php';
        foreach($files['tmp_name'] as $k => $v){
            $image = array(
                'name' => $files['name'][$k],
                'tmp_name' => $files['tmp_name'][$k]
            );
            $extension = pathinfo($image['name'], PATHINFO_EXTENSION);
            if(in_array($extension, array('jpg','png'))){
                $db->query("INSERT INTO images SET name=$name, work_id=$work_id");
                $image_id = $db->lastInsertId();
                $image_name = $image_id . '.' . $extension;
                move_uploaded_file($image['tmp_name'], IMAGES . '/works/' . $image_name);
                resizeImage(IMAGES . '/works/' . $image_name, 150,150);
                $image_name = $db->quote($image_name);
                $db->query("UPDATE images SET name=$image_name WHERE id = $image_id");
            }
        }

Merci.

4 réponses


shadowkamikaze
Réponse acceptée
$dimensions = getimagesize("ton image"); 
$width = $dimensions[0];
$height = $dimensions[1];

Bonjour

Je sais pas si il y a une autre facon de faire mais tu peux regarder au niveau de la fonction getimagesize

Salut,

Tu as un tuto très interessant et complet sur la librairie Intervention, qui permet de faire tout un tas de traitements sur les images : https://www.grafikart.fr/tutoriels/php/intervention-image-375 ;)

Salut,
Merci à vous pour votre aide, effectivement la fonction getimagesize est faite pour ça :)
Mais sur le tutoriel le système d’upload permet d’envoyer plusieurs images.
D’après ce que j’ai compris en cherchant des cours a gauche a droite, la fonction getimagesize ne permet de gérer qu’une image à la fois, en tout cas moi je n’ai pas besoin d’uploader plusieurs images du coup j’ai adapté mon code et ca fonctionne :)

    ```
    $width_max  = 900;        // Largeur max de l'image en pixels
    $height_max = 300;        // Hauteur max de l'image en pixels
    $infos_img = getimagesize($_FILES['image']['tmp_name']);

    if(($infos_img[0] == $width_max) && ($infos_img[1] == $height_max)) {
    // on execute le code.........
    }
    ```