Bonjour,

Je développe depuis tout à l'heur un petit forumulair avec un envoi d'images, tout à marcher, nickel, jusqu'à ce que je réessaie une heure plus tard, le code ne marche plus pour une cause d'extension invalide, je vous laisse regarder :

Côté formulaire rien de génial :

<form action="index.php?adm=1&" method="post" enctype="multipart/form-data">
    <input type="file" name="img" />
    <input type="hidden" name="action" value="1" />
    <input type="submit" name="envoyer" />
</form>

Ensuite le php ( c'est un peu long, mais je l'ai fais en partie grâce au tuto de Grafik art ! ) :

if($_POST'action'] == 1){
    if(!empty($_FILES)){
        $prout = $_FILES'userfile']'name'][0];
        require("../class/imgClass.php");
        $img = $_FILES'img'];
        $nom_fichier = $_FILES'image']'name']; // recuperer le nom
        $extension_fichier = substr($nom_fichier, -3);
        $extension = strtolower(substr($img'name'], -3));
        $allow_extension = array("jpg", "gif", "png");
        $recup = $bdd->query("SELECT MAX(id) AS id FROM blog"); // je récupère la denriere ID du blog
        $rsrecup = $recup->fetch();

        // à partir d'ici je test l'id et l'incrémente
        if($rsrecup'id'] != NULL){ 
            $valeur_id = $rsrecup'id'];
        }else{
            $valeur_id = 0;
        }
        $new_id=$valeur_id + 1;

        if(in_array($extension,$allow_extension)){
            move_uploaded_file($img'tmp_name'], "../images/images_upload/".$img'name']);    
            Img::creerMin("../images/images_upload/".$img'name'], "../images/min/", $img'name'],215,115);
            Img::convertirJPG("../images/images_upload/".$img'name']);
            $nom_final = $img'name'];
        }else{
            $erreur = "votre fichier n'a pas une extension valide";
            echo $erreur;
        }
    }
    $ajout = $bdd->prepare('INSERT INTO blog(titre, intro, texte, auteur, date, image1) VALUES (?, ?, ?, ?, NOW(), ?)');
    $ajout->execute(array($_POST'titre'],
                          $_POST'intro'],
                          $_POST'texte'],
                          $_POST'auteur'],
                          $nom_final));

C'est un peu long je suis désolé !

Bref, malgré tous ces efforts mon erreur est simplement que l'image n'a pas d'extension valide, j'ai essayer d'upload plus de 40 image avec extension jpg et png... Sa n'a rien donner, quand je fais des " echo " dans mon code il s'arrête bien à la validation de l'extension, il ne va pas plus loin ....

Si jamais quelqu'un a une idée il sera mon sauveur :/ j'ai tout essayer en vain

2 réponses


dutbas
Réponse acceptée

Essaye de faire un : echo $extension_fichier;
pour voir l'extension du fichier uploadé.

Une fois je me suis pris la tête car l'extension etait en majuscule alors que dans mon array d'extension valide non !
du coup tu peux faire : $allow_extension = array("jpg", "gif", "png", "JPG", "GIF", "PNG");

BD

wordup
Auteur

Parfait, merci beaucoup, je n'avais même pas penser à tester l'extension de mon fichier ! ( Je m'en veux pour cette étourderie sans rire ).

il n'aime pas du tout ceci mon code :

$extension_fichier = substr($nom_fichier, -3);

il préfère celui-ci :

$extension = strtolower(substr($img'name'], -3));

Va savoir pourquoi...

En tous cas merci, suffit juste de sélectionné les majuscule ( windows me met les extensions en Maj ... ) Parfait ^^