Upload image : problème avec funct.imagejpeg

nik029 Messages postés 315 Statut Membre -  
nik029 Messages postés 315 Statut Membre -
Bonjour,

J'ai réaliser une fonction et un petit script pour uploader une image. Le problème, c'est que l'image ne veut pas s'uploader correctement. A la place (lorsque j'ai cliquer sur le bouton "uploader"), voici ce que cela m'affiche :

Warning: imagejpeg() [function.imagejpeg]: Unable to open '.../.../img/badges.jpg.jpg' for writing: No such file or directory in /home/locasudf/public_html/articles/function.php on line 85


La ligne 85 correspond à ceci :

imagejpeg($image_finale,'.../.../img/'.$nomOrigine .'.jpg');


Que faire ?

Merci d'avance.



Une fois un problème résolu, mettez un +1 sur la réponse qui vous à aidez et mettez Problème Résolu ! ;-)

2 réponses

  1. saxopus
     
    Tien essaye ce code :

    <?php
    $poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets)
    $repertoire = 'uploads/'; // Repertoire d'upload
    if (isset($_FILES['fichier']))
    {

    // On vérifit le type du fichier
    if ($_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/jpeg' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/gif' && $_FILES['fichier']['type'] != 'image/bmp' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/ico')
    {
    $erreur = 'Le fichier doit être au format *.jpeg, *.bmp, *.jpg, *.png, *.ico *.gif ou *.png .';
    }

    // On vérifit le poids de l'image
    elseif ($_FILES['fichier']['size'] > $poids_max)
    {
    $erreur = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.';
    }

    // On vérifit si le répertoire d'upload existe
    elseif (!file_exists($repertoire))
    {
    $erreur = 'Erreur, le dossier d\'upload n\'existe pas.';
    }

    // Si il y a une erreur on l'affiche sinon on peut uploader
    if(isset($erreur))
    {
    echo '' . $erreur . '<br><a href="javascript:history.back(1)">Retour</a>';
    }
    else
    {

    // On définit l'extention du fichier puis on le nomme par le timestamp actuel
    if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
    if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; }
    if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
    if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
    $nom_fichier = time().$extention;

    // On upload le fichier sur le serveur.
    if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
    {
    $url = 'www.monsite.com/'.$repertoire.''.$nom_fichier.'';
    echo 'Votre image à été uploadée sur Le site avec succes!<br>Voici le lien: <br />
    <br/>
    <img src="uploads/'.$nom_fichier.'" width="120px" height="120px" border="2px" />
    <br/>
    <b>BBcode img</b> = <input type="text" value="[img]' . $url . '/img" /><br />
    <br />
    <b>BBcode url</b> = <input type="text" value="[url]' . $url . '/url" /><br />
    <br />
    <b>HTML direct </b> <input type="text" value="'.$url.'" />

    ';
    }
    else
    {
    echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
    }

    }

    }
    else
    {
    ?>
    <form method="post" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $poids_max; ?>">
    <input type="file" name="fichier">
    <input type="submit" value="Envoyer">
    </form>
    <?php
    }
    ?>

    Tu dois juste creer un repertoire nomer uploads et changer l'url dans le code

    Si ta besoin d'aide :) Ajoute moi sur skype "saxopus"
    0
  2. nik029 Messages postés 315 Statut Membre 44
     
    Sa fonctionne cette fois-ci. Peux-tu m'expliquer pourquoi ce code fonctionne ?
    0