begin process at 2012 02 15 18:59:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

affichage d'images "denied"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

affichage d'images "denied"

jeudi 16 octobre 2008 à 13:21:35 | affichage d'images "denied"

TropNul

Bonjour,

Je développe actuellement un CMS complet pour le catalogue des publications d'un éditeur.

Dans la section 'administration' du CMS, il y a bien sure une option pour modifier un livre.
Je charge donc toutes les info. du livre choisi (via une liste fournie apres une requete SQL) dans un formulaire permettant ainsi a l'operateur du site d'y faire des modifications.

Mon probleme se situe sur l'affichage de la vignette du livre qui est entrain d'etre modifié. Tout fonctionne correctement, a part cela. J'utilise mozilla firefox, avec lequel j'ai le plugin 'WebDeveloper' dans lequel j'ai noté le message d'erreur suivant qui me rend perplexe.

"
Erreur : uncaught exception: Load of h:\xampp\htdocs\TESTS\v2.1\pic\sav\cgen\sci\cover-sciencebaseddev_thmb.jpg denied.
"

Quelqu'un(e) aurait la solution svp ?

D'Avance merci.

Cordialement,
tropnul
jeudi 16 octobre 2008 à 14:01:12 | Re : affichage d'images "denied"

neigedhiver

Salut,

Il s'agit d'une exception lancée par le CMS, laquelle n'est pas attrapée.
Il n'est donc pas possible, avec ces informations, d'apporter une réponse au problème...
Le mieux est de regarder dans le code... Si le message d'erreur indique le fichier et la ligne, ça devrait aider, sinon... faut creuser...

Il se peut quand même que l'erreur soit toute bête et qu'il s'agisse soit d'un problème de permission, de fichier non trouvé, mal formé, ...


Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
jeudi 16 octobre 2008 à 14:57:47 | Re : affichage d'images "denied"

TropNul

Salut neigedhiver,

Voici une partie du code en question:

<fieldset>
   <legend>Couvertures:</legend>
   <label for="bookcov">* Couverture:</label>
   <input type="checkbox" name="bookdel_fcov">
   <label for="bookdel_fcov">Jetter cette image</label>
   <?php echo('<p><img src="'.$pic_fcov_thmb.'" alt="Couverture du livre : '.$title.'" /></p>'); ?>
   <input type="hidden" name="MAX_FILE_SIZE" value="1024000" />
   <input type="file" class="formField" name="bookcov[]" size="50"><br />
   <label for="bookisbn">* ISBN:</label>
   <input type="text" class="formField" name="bookisbn" maxlength="40" size="20" value="<?php echo($pic_isbn); ?>"><br />
   <label for="bookpages">* Nombre de Pages:</label>
   <input type="text" class="formField" name="bookpages" maxlength="10" size="20" value="<?php echo($pic_pages); ?>"><br />
   <label for="booksize">* Taille du livre:</label>
   <input type="text" class="formField" name="booksize" maxlength="20" size="20" value="<?php echo($pic_size); ?>"><br />
   <label for="bookprice">Prix:</label>
   <input type="text" class="formField" name="bookprice" maxlength="20" size="10" value="<?php echo($pic_price); ?>"><br />
   <label for="bookcov">Couverture de dos:</label>
   <?php
   if ($howmany > 1) { # s'il existe une couverture de dos ...
      echo('<input type="checkbox" name="bookdel_bcov">');
      echo('<label for="bookdel_bcov">  Jetter cette image</label>');
      echo('<p><img src="'.$pic_bcov_thmb.'" alt="Couverture de dos du livre : '.$title.'" /></p>');
   }
   ?>
   <input type="hidden" name="MAX_FILE_SIZE" value="1024000" />
   <input type="file" class="formField" name="bookcov[]" size="50"><br />
</fieldset>


Les seules lignes qui donc ne s'affichent pas (les images ne s'affichent pas dans mon navigateur, mais cela n'empeche pas que l'info de l'image ne soit pas présente dans le navigateur. j'ai regardé la source du navigateur pour en etre sur. Pour le moment, je ne vois que l'information du "alt") sont en rose.

Rha, mon bureau va fermer. LOL.

A dans 15 minutes, le temps d'arriver chez moi.

merci deja

Cordialement,
tropnul
jeudi 16 octobre 2008 à 15:18:54 | Re : affichage d'images "denied"

TropNul

Je vais essayer de faire un chmod sur les images avant de faire le <img /> pour voir. comme tu le dis, c'est peut-être finalement qu'une erreur de permission...

Ce qui me rend perplexe c'est que lors de la phase de création de la vignette, j'ai utilisé une fonction qui prend en paramètre l'image originale fournie dans ce formulaire ci-dessus. j'avais bien fait un chmod juste avant et je n'ai pas eu de probleme.

Si c'est vraiment ça, je sors prendre l'air pour 2 jours minimum. ^^

Merci encore :)

tropnul
jeudi 16 octobre 2008 à 16:39:47 | Re : affichage d'images "denied"

neigedhiver

Réponse acceptée !
Re,

L'erreur ne vient pas de code HTML, mais du PHP qui ouvre le fichier image (probablement pour la génération de la vignette, ou un truc dans le genre) et qui n'y parvient pas. Il lance alors une exception avec une ligne dans ce genre :
throw new Exception('Load of '. $quelquechose .' denied.');

L'exception n'étant pas interceptée par un bloc try...catch , PHP affiche alors 'uncaught exception', suivi du message d'erreur (ce qui se trouve dans les parenthèses du constructeur de l'Exception).

C'est plutôt de ce côté là qu'il faut chercher. Il se peut que ce soit un problème de permission : il faut que le script ait l'accès en lecture à la photo, ou l'accès en écriture à la vignette ou son répertoire, ce genre de truc.

Pas facile comme ça, sans savoir quelle classe tu utilises pour générer tes vignettes, sans en avoir le code, sans avoir un message d'erreur plus complet...


Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
vendredi 17 octobre 2008 à 08:58:24 | Re : affichage d'images "denied"

TropNul

Bonjour,

Je viens enfin de résoudre ce probleme.

Il s'agissait en fait d'une erreur de path vers la vignette ou toute autre image. En effet, lorsque je mets comme path de l'image dans le tag <img /> un truc du type "H:/ceci/est/le/chemin/du/site/vers/la/photo.jpg" (path absolu), ça ne fonctionne pas et me retourne comme erreur dans le navigateur que le path est 'cassé'.

J'ai commencé par faire un chmod à 0777 avant l'affichage mais toujours pas de résultat.

J'ai ensuite modifié le path (pour avoir un path relatif) de l'image comme cela:

<?php
# apres cette ligne, il me restera que la partie " vers\la\photo.jpg "
$pic_fcov_thmb=str_replace("H:\\ceci\\est\\le\\chemin\\du\\site\\", "", $pic_fcov_thmb);

# ici je remplace les '\' par des '/' pour correspondre à la norme des adresses web. à savoir:
# http://www.adresse.com/chemin/vers/quelque/chose.html
# et non http:\\www.adresse.com\chemin\vers\quelque\chose.html
# et par précaution je fais un décodage de possibles caractères spéciaux restants.

$pic_fcov_thmb=html_entity_decode(htmlspecialchars_decode(str_replace("\\","/",$pic_fcov_thmb)));

echo('<p><img src="'.$pic_fcov_thmb.'" alt="Front Cover for the book : '.$title.'" /></p>');
?>


Et ça a finalement fonctionné.

En ce qui concerne la fonctionne que j'utilise pour générer mes vignettes, je n'ai fait que reprendre le code se trouvant dans la doc officielle de PHP. Et au final, ma fonction donne ça (sans les commentaires pour alléger le post):

function createThumb($source = NULL, $repository) {
    if ($source != NULL) {
        $thumb_width = 120;
        $thumb_height = 120;
        $ratio_thumb = $thumb_width / $thumb_height;
        list($width, $height, $type, $attr) = getimagesize($source);
        $src_x = 0; $src_y = 0;
        $ratio_orig = $width / $height;
        if ($ratio_thumb > $ratio_orig) { $thumb_width = $thumb_height * $ratio_orig; }
        else { $thumb_height = $thumb_width / $ratio_orig; }
        $new_img = imagecreatetruecolor($thumb_width, $thumb_height);
        $pathinf = pathinfo($source);
        $extension = strtolower($pathinf['extension']);
        switch ($type) {
            case 2:
                $res_img=imagecreatefromjpeg($source);
                $mime = 'image/jpeg';
                break;
            case 3:
                $res_img=imagecreatefrompng($source);
                $mime = 'image/png';
                break;
        }
        imagecopyresampled($new_img, $res_img, 0, 0, $src_x, $src_y, $thumb_width, $thumb_height, $width, $height);
        $dest = preg_replace('/(\.[^$]+)$/i','',basename($source));
        $dest .= '_thmb.'.$extension;
        switch ($mime) {
            case 'image/jpeg':
                imagejpeg($new_img, $dest, 85);
                break;
            case 'image/png':
                imagepng($new_img, $dest, 4);
                break;
        }
        $source_dir = $repository . basename($source);
        copy($source, $source_dir);
        $dest_dir = $repository . basename($dest);
        copy($dest, $dest_dir);
        unlink($source);
        unlink($dest);
        imagedestroy($res_img);
        imagedestroy($new_img);
    }
    else return;
}
?>

Et ça fonctionne correctement jusqu'à présent. Ca redimensionne proportionnellement l'image fournie solon mes besoins. :)

Donc voila, merci encore neigedhiver pour m'avoir aiguillé.

Cordialement,
tropnul


Cette discussion est classée dans : images, affichage, livre, cms, denied


Répondre à ce message

Sujets en rapport avec ce message

Affichage IE Opera Mozilla [ par gypsi3000 ] Je suis en train de tester l'affichage sur différents browsers et je me rends compte que sous IE toutes mes images de bordures d'écran sont bien placé Probleme d'affichage images [ par kprime17 ] Salut, je suis debutant en php et j'ai un petit probleme :j'ai un tableau qui se charge en fonction d'une table mysql, les deux dernieres cellules de Affichage aléatoire de plusieurs images simultanément [ par drmicro ] Bonjour. Pour le site d'une association qui dispose de plusieurs sponsors, je souhaite afficher entre les balises et 3 images (de même taille) de s page d'affichage d'images [ par Nicolpaf ] Bonjour à tous! je cherche un script php pour créer une page d'affichage d'image.Je m'explique: je suis en train de monter un site (assez stupide^^) a upload + affichage images [ par ultra_nezz ] Bonjour,voila je cherche mais ne trouve pas ,une petite source (si elle est petite )qui pourrait m'aider a finir mon petit site persoj'aimerais avoir affichage aléatoires des images(simultanément) [ par refkaben ] Bonjour à tous;j'ai uploader des images dans un dossier et j'ai stocké leurs url dans un champs dans ma base de données.Maintenent je veux afficher ce Pb d'affichage [ par cid0u ] salut, j'ai un petit soucis avec une page php il s'agit d'une sorte de profil, on pe y mettre du texte, et des images (par url) le pb, cest que selon Affichage d'images uploadées [ par hasen ] Ola tous le monde, je suis en train de faire une phototheque et je suis en train de bloquer... Mon client voudrais un certain nombre de photos par pag Problème d'affichage de plusieurs images [ par tony1239456 ] Bonjour, je crée un moteur de recherche pour des logos de portable, mais j'ai un gros problème, je n'arrive pas à crée un affichage des images par un affichage en php [ par allquest ] bonjour,J'ai installé le module download du script nuked clan, maintenant, il y'a des images à coté des descriptions , j'ai réussi à enlever la descri


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales