Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 27-02-2010 20:19:16

lassoya
Membre
Date d'inscription: 26-12-2009
Messages: 87

Images en dehors du www

Bonjour j'ai un problème pour trouver le chemin d'une image qui se trouve en dehors du www. 

Comment puis je faire ??

Hors ligne

 

#2 27-02-2010 21:56:55

yvann
Membre
Date d'inscription: 24-07-2008
Messages: 81

Re: Images en dehors du www

Relis ta phrase, dis nous si tu penses qu'elle est compréhensible par quelqu'un qui n'est pas au courant de la situation wink

Hors ligne

 

#3 27-02-2010 22:13:21

lassoya
Membre
Date d'inscription: 26-12-2009
Messages: 87

Re: Images en dehors du www

lol je réexplique : en fait mon problème est que je n'arrive pas à afficher des images qui se trouvent en dehors de mon dossier www 

parce exemple une image qui se trouve dans  www/images
je faisais $this->baseUrl() ."/images/images.jpg"

mais pour les images qui se trouvent en dehors de ce dossier là je peux faire comment pour les afficher ??

Hors ligne

 

#4 28-02-2010 12:15:46

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Images en dehors du www

C'est une impossibilité de HTTP

la référence à une image dans une page web est une adresse qui doit être visible directement par le client donc exposé par le serveur HTTP et les seuls éléments que le serveur HTTP expose se trouve dans le (ou les) dossier(s) exposé(s) donc WWW

le seul cas ou les images ou autres éléments que voit le client qui n'est pas dans WWW c'est la définition d'alias dans le serveur HTTP

mais dans ce cas il n'y a aucun pb de chemin puisque c'est l'alias qui le défini

pour rappel les image ne sont pas dans la page web mais ce sont des référence à ses images qui sont dans la page.

c'est le navigateur qui va les chercher et qui les y affiche (d'ailleurs les navigateur pour aveugles ne les affiche pas)

par mesure de sécurité les serveur HTTP n'expose sur le web que le contenu d'un ou plusieurs dossier et seul les élément présent dans ce dossier sont accessible.

Pour faire taire ceux qui seraient tenté de dire que les lib PHP sont accessible c'est FAUX seul les scripts des uRL des pages le sont dans ZF seul index.php l'est le reste n'est pas accessible par le navigateur et c'est tant mieux.

A+JYT

Hors ligne

 

#5 28-02-2010 13:23:09

lassoya
Membre
Date d'inscription: 26-12-2009
Messages: 87

Re: Images en dehors du www

Ben c'est possible avec readfile() puis des headers pour préparer à recevoir l'image . Mais bon je n'arrive pas à le faire sur mon petit site fait en ZF

Hors ligne

 

#6 28-02-2010 15:22:13

yvann
Membre
Date d'inscription: 24-07-2008
Messages: 81

Re: Images en dehors du www

Et c'est par "curiosité" ? ou une raison réelle t'empêche de placer ces images autre part ?

Hors ligne

 

#7 28-02-2010 20:40:41

lassoya
Membre
Date d'inscription: 26-12-2009
Messages: 87

Re: Images en dehors du www

Ben c'est une sécurité je pense, comme cela personne n'accède aux documents d'autres personnes. Et maintenant que j'arrive à les inclure dans des pdf je n'ai pas trop envie de les changer de place.

Hors ligne

 

#8 01-03-2010 08:55:21

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Images en dehors du www

Dans ton controller, il faut :
- désactiver le viewRenderer

Code:

$this->_helper->viewRenderer->setNoRender();

- ensuite tu fais comme en PHP simple dans ton controller ($file nom physique de ton fichier et $ctype le mime)

Code:

header('Content-type: '.$ctype);
header('Content-length: '.filesize($file));
readfile($file);

A+, Philippe
PS : et il faut bien faire attention à en rien envoyer d'autre, si tu as des messages de débug qui s'affichent quelque part, ça corrompt ton fichier


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#9 01-03-2010 11:54:46

lassoya
Membre
Date d'inscription: 26-12-2009
Messages: 87

Re: Images en dehors du www

Merci ça marche plus ou moins on va dire ^^ , le hic maintenant c'est que  quand j'affiche la page  dans une thickbox ça me fait ça alors que dans le navigateur ça marche nickel

����JFIFHH��C     ��C         ��d�"��     ���}!1AQa"q2���#B��R


dois je abandonner l'idée de la thickbox ??

Hors ligne

 

#10 01-03-2010 13:25:26

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Images en dehors du www

Pour ton navigateur, une image envoyée en dynamique ou en statique, c'est exactement pareil (ton navigateur ne peut pas voir la différence, il reçoit exactement la même chose).

Je pense qu'il y a un problème dans ton code :
- soit tes headers ne sont pas bons dans ton code PHP
- soit il y a une erreur dans ton code JS

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#11 01-03-2010 14:13:02

lassoya
Membre
Date d'inscription: 26-12-2009
Messages: 87

Re: Images en dehors du www

Ben je ne pense pas
dans mon fichier html je n'ai que ça

<?php
    $image="images/banmail.jpg";
    $name='dd';
    $info = getimagesize($image);
    $fs = filesize($image);
    header ("Content-Type: {$info['mime']}\n");
    header ("Content-Disposition: inline; filename=\"$name\"\n");
    header ("Content-Length: $fs\n");

    readfile($image);
?>

et dans mon controlleur j'ai ajouté ça
:
    $this->view->jQuery()->addJavascriptFile($this->view->BaseUrl().'/js/thickbox-compressed.js')
     ->addStylesheet($this->view->BaseUrl().'/css/thickbox.css')
     ->enable();

et je n'ai pas compris si mon code marche dans le navigateur, mais affiche un code bizarre dans la thickbox c'est que mon code est faux ?? :s Est ce que ce ne serait pas la thickbox :p qui ne lit pas les headers ??


je pense que je vais mettre mon dossier dans le www comme ça j'evite de faire ça .

Dernière modification par lassoya (01-03-2010 14:17:01)

Hors ligne

 

#12 01-03-2010 15:41:13

lassoya
Membre
Date d'inscription: 26-12-2009
Messages: 87

Re: Images en dehors du www

ça marche nickel avec une shadowbox MERCI DE VOTRE AIDE ^^

Hors ligne

 

#13 01-03-2010 20:21:00

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Images en dehors du www

lassoya a écrit:

Ben c'est possible avec readfile() puis des headers pour préparer à recevoir l'image . Mais bon je n'arrive pas à le faire sur mon petit site fait en ZF

dans ce cas là l'url de l'image est celle du script qui fait le read et est donc dans l'espace public

A+JYT

Hors ligne

 

#14 01-03-2010 23:02:47

lassoya
Membre
Date d'inscription: 26-12-2009
Messages: 87

Re: Images en dehors du www

image se trouve en dehors du www dans un dossier

et le readfile je le fais dans un controller

Hors ligne

 

#15 02-03-2010 09:09:43

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Images en dehors du www

@sekaijin :
effectivement c'est l'adresse du script qui s'affiche, après en général, je me débrouille pour que mon script ait une adresse en /xxx/toto.gif (avec le nom réeel du fichier) pour que l'internaute ne sache pas que c'est dynamique (et parce que les analyseurs de logs prennent en compte correctement l'image smile )

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages