[RESOLU] Images qui ne s'affichent pas

Petit nouveau ! | 5 Messages

23 févr. 2017, 09:03

Bonjour, je suis en train de développer un blog pour mon voyage en Grèce.
Jusqu'a maintenant, je n'avais pas d'hébergement et j'y accédais en localhost. Aucun problème sur le site.
Je viens cependant de louer un serveur chez 1&1, et j'y ai envoyé mon site. Quand j'y accède avec son adresse, aucune image ne s'affiche... Les noms et la hiérarchie des dossiers n'ont pas changés, leurs contenus non plus (excepté la connexion à la base de donnée dans les .php). Bref, il ne me semble pas avoir modifié quoi que ce soit. D'ou vient le problème ?

Info qui peut aider: la redirection entre mes pages fonctionne.
Voici un exemple de balise <img> qui marchait avant, mais plus maintenant, elle se trouve dans index.php:
<img href="images/info.png" alt="logo">
Et une partie de la hiérarchie des dossiers:
> /
...> images
......> info.png
...> index.php

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

23 févr. 2017, 11:18

salut,
ouvre les outils de développement de ton navigateur (F12) et regarde si tu as des erreurs sur la récupération des images.
est ce que les images sont bien en ligne ? ;)

si le répertoire images est à la racine du site met un / devant
=> <img href="/images/info.png" alt="logo">
cela équivant à une url absolue http://tonsite.com/images/info.png

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 5 Messages

23 févr. 2017, 13:29

L'outil de développement m'indique qu'il est impossible de charger l'image. En ajoutant un /, rien ne change.
De plus, j'ai remarqué que certaines images s'affichent et d'autre non, alors que je n'ai touché ni aux noms ni à la hiérarchie des dossier en envoyant mon site. Je ne remarque aucune logique entre les images qui fonctionnent et celles qui ne fonctionnent pas.
Quelques exemples:
Dans le .css, placé au même endroit que index.php, j'ai ces deux background:
background: url('images/acropole.jpg') no-repeat;
et
background: url('images/separateur.png') repeat-x bottom;
La première image ne s'affiche pas, la deuxième si. Pour tous les background en css, images/acropole.jpg est la seule à ne pas s'afficher, et c'est la seule en .jpg. (je rappel que ça marchait avant l'envoie du site). Les deux images se trouvent dans /images/

Autre exemple:
Pour cet exemple, j'ai rajouté une balise img arbitrairement dans mon code. Si je l'écris comme ça:
<img src="images/info.png">
L'image ne s'affiche pas. info.png se trouve bien dans images/
Maintenant si j'écris ça:
<img src="photos/1/24.jpg">
L'image s'affiche
photos/ se trouvent au même endroit que images/, je rappel que la hiérarchie et les noms des dossiers n'ont pas changé, et que cela marchait avant. J'ai remarqué que seules les images étant en .jpg fonctionnaient dans les balises <img>

Le problème est-il du aux extensions ? Sachant que dans le .css, seulement les png fonctionnent, et dans le .php, seulement les .jpg ?

Petit nouveau ! | 5 Messages

23 févr. 2017, 13:37

J'ai essayé de convertir info.png en info.jpg, l'image ne s'affiche toujours pas..

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

23 févr. 2017, 14:05

tu n'aurais pas des fichiers avec des extensions en majuscule (windows inside) du genre acropole.JPG ?

si oui c'est la source du problème les serveurs classiquement utilisés sont unix et donc case sensitive contrairement à windows (et vice versa ;) )

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 5 Messages

23 févr. 2017, 16:20

Je n'ai pas mis de majuscule, et je n'en vois pas sur FileZilla.

Petit nouveau ! | 5 Messages

23 févr. 2017, 16:31

J'ai enfin trouvé d'ou vient le problème ! Pour une raison qui m'échappe, les permissions d'accès aux fichiers n'étaient pas identiques. La valeur pour info.png était 700. J'ai remplacé par 704, et l'image s'affiche !

Merci pour vos réponses :)