Afficher une image se trouvant sur le disque dur

Afficher une image se trouvant sur le disque dur - HTML/CSS - Programmation

Marsh Posté le 28-07-2008 à 17:44:50    

Bonjour,
 
Ceci doit être une question toute simple cependant elle me pose pas mal de probleme :
 
Je possède un serveur (sous linux fedora 8))
Voici l'arborescence qui se trouve sur mon disque dur
 

Code :
  1. usr
  2.   |   jaquettes
  3.   |        - 300.png
  4. var
  5.       www
  6.                   html
  7.                     - index.php
  8.                        .....


 
Mon site racine est html, or mon but est d'afficher l'image 300.png.
 
Voici la ligne de code :

Code :
  1. <img src="../../usr/jaquettes/logo.png" alt="" name="img_1" id="yyy">


 
Peut on afficher cette image ?
 
Merci de votre aide!

Reply

Marsh Posté le 28-07-2008 à 17:44:50   

Reply

Marsh Posté le 28-07-2008 à 17:49:28    

si ta page est dans html
ton lien sera  
../../../usr/jaquettes/logo.png

Reply

Marsh Posté le 28-07-2008 à 18:04:03    

Ça ne marche toujours pas ...
Ya t'il une modification à faire sur le fichier httpd.conf ?
 
Merci

Reply

Marsh Posté le 29-07-2008 à 10:45:50    

sur le fichier erreur, j'ai l'erreur suivante :
 
The given path was above the root path
 
Ceci veut dire que l'on ne peut pas afficher une image qui se trouve sur notre disque dur mais uniquement sur la partie serveur du disque dur ?
 
Merci de votre aide!

Reply

Marsh Posté le 29-07-2008 à 10:48:22    

normal, il faut que l'image soit accessible en HTTP, et donc sur le serveur http

Reply

Marsh Posté le 29-07-2008 à 11:06:51    

Merci de la confirmation, cependant comment peut on permettre  uniquement aux jaquettes (fichier png) d'un dossier d'être accessible en HTTP.
 
De plus, je voulais savoir pourquoi il est possible d'avoir accès à des fichier texte (par exemple) se trouvant sur le disque dur et pas à des images.
 
Merci


Message édité par johnson950 le 29-07-2008 à 11:09:37
Reply

Marsh Posté le 29-07-2008 à 11:10:13    

ben regarde si tu peux créer des répertoires virtuels dans apache, comme ca tu peux directement faire pointer un répertoire vers un /monrepsurserveur, sans devoir créer une nouvelle instance et donc domaine différent

Reply

Marsh Posté le 29-07-2008 à 12:05:40    

Merci de votre aide!
 
J'ai bien créer le répertoire virtuels et cela fonctionne bien.
Cependant, j'aimerais que celui ci soit consultable uniquement par le serveur et par personne d'autre.
Que faut il ajouter à ceci :
 
Alias /jaquettes/ "/usr/local/jaquettes/"
 
<Directory /usr/local/jaquettes/>
#Ordre de lecture des règles
order allow,deny  
deny from all  
</Directory>
 
Sur internet j'ai trouvé "allow form + IP" à ajouter, cependant avec localhost et 127.0.0.1 ça ne fonctionne pas.
 
Merci

Reply

Marsh Posté le 29-07-2008 à 13:09:37    

ben heu si tu veux que par le serveur, mais que l'image s'affiche aussi dans le navigateur du gars, là c'est clairement pas possible hein :D
 
FRANCHEMENT  la seule solution que je vois, c'est que tu oublies cette idée d'alias que je t'avais donnée, et que plutot tu passes par un script PHP, qui sera appelé dans le tag img et qui ira juste  rebalancer l'image complete en allant la chercher sur ton disque dur :  
 
ex :  

Code :
  1. <img src="image.php?image=300.jpg" />


 
après au niveau php je te laisse chercher, des scripts qui font ça c'est en 3lignes et yen a des paquets, attention quand meme à bien protéger histoire que personne ne puisse récupérer des données confidentielles à toi
et donc limiter le script seulement aux images (.jpg .jpeg, .gif, .png)
et aussi supprimer le fait que le gars puisse taper des chemins (../../ ou /truc)
 
voila

Reply

Marsh Posté le 30-07-2008 à 11:00:37    

Bonjour,
 
Alors j'ai créé deux fichiers :
 
test.php

Code :
  1. <img src="image.php" />


 
image.php

Code :
  1. <?php
  2. $image = "/usr/jaquettes/logo.png";
  3. readfile($image);
  4. ?>


 
Cependant, ça ne fonctionne pas non plus...
Ya t'il une erreur ?
 
Merci de vore aide

Message cité 1 fois
Message édité par johnson950 le 30-07-2008 à 11:01:36
Reply

Marsh Posté le 30-07-2008 à 11:00:37   

Reply

Marsh Posté le 30-07-2008 à 11:33:15    

johnson950 a écrit :

Bonjour,
 
Alors j'ai créé deux fichiers :
 
test.php

Code :
  1. <img src="image.php" />


 
image.php

Code :
  1. <?php
  2. $image = "/usr/jaquettes/logo.png";
  3. readfile($image);
  4. ?>


 
Cependant, ça ne fonctionne pas non plus...
Ya t'il une erreur ?
 
il faut que tu déclares le type mime avant le readfile
met un type mime binaire pour voir
 
la meilleure solution pour voir c'est directement acceder à ton "image" en tapant l'url dans ton navigateur
 
Merci de vore aide


Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed