php lien à un fichier image à l'extérieur par défaut de l'annuaire web
Ici est la structure de répertoire
/domain.com
/public_html
/functions
/image
/mobile
/www
l' /domain.com/public_html/www dossier dispose d'un fichier index.php
par défaut le répertoire web /user/public_html/www
dans le fichier d'index est un include qui inclut les fonctions avec
include"../fonctions/fonction.inc"
cela fonctionne sans problème
quand je veux le lien vers l'image dans le dossier de l'image je n'ai pas d'obtenir des résultats
par exemple
<img src="../image/graphic/logo.gif" alt="alt text"/>
Quelqu'un a une idée de pourquoi le lien de l'image ne fonctionne pas et comment faire un lien correct pour le fichier d'image ?
J'ai essayé <img src="<?php echo $_SERVER['PHP_SELF']; ?>../image/graphic/logo.gif" alt="alt text"/>
mais qui me donne le même résultat
lorsque je créer un lien autour de l'image pour obtenir les propriétés que je reçois ce que le chemin d'accès
http://domain.com/image/pc/tattoo_small/small_2008_10_22_001.JPG
le chemin doit être
http://domain.com/public_html/image/pc/tattoo_small/small_2008_10_22_001.JPG
lorsque j'essaie d'accéder directement à cette url
http://domain.com/public_html/image/pc/tattoo_small/small_2008_10_22_001.JPG
J'obtiens une erreur 404 fichier non trouvé
parce que par défaut le répertoire web
/domain.com/public_html/www
J'ai essayé
http://domain.com/../image/pc/tattoo_small/small_2008_10_22_001.JPG
pour obtenir le dossier de l'image, mais cela n'aide pas non plus.
Personne des idées ou est-il impossible de lien html, de fichiers graphiques en dehors du web par défaut du répertoire ?
merci pour la lecture de ce jour
Merci pour les réponses jusqu'à présent.
Je vais essayer de résoudre mon problème avec l'une des solutions recommandées et rapport à ma solution de travail de retour ici.
Je voulais avoir le dossier de l'image au même niveau que le web et les mobiles dossier parce que certaines des images utilisées pour le pc (www) de la version et de la version mobile sont les mêmes.
Bien sûr, il est plus facile d'obtenir une image dans le dossier www et dans le mobile dossier et je pense que c'est ce que je vais faire.
merci à tous pour les conseils. La raison principale pourquoi je ne vais pas travailler avec un script est un script sera difficile de la solution à un problème facile et aussi parce que je ne vois vraiment pas comment vous pouvez placer votre image dans une classe css et comment fournir un texte alternatif d'une image.
OriginalL'auteur user18383 | 2008-11-03
Vous devez vous connecter pour publier un commentaire.
Il n'est pas possible d'accéder directement à des fichiers à l'extérieur de la racine de votre site; c'est un builtin restriction de sécurité qui est là pour une bonne raison.
Il est toutefois possible d'utiliser un script PHP pour servir de ces images pour vous. De cette façon, vous pouvez appeler d'une image, comme par exemple:
et l'utilisation file_get_contents() pour obtenir le contenu du fichier et de les imprimer à votre navigateur. Vous devez également envoyer les en-têtes pour le client, dans ce cas à l'aide de PHP l'en-tête() fonction. Un court exemple:
À l'aide d'un script pour cette il a plus avantages:
Pas selon http://php.net/manual/en/function.urldecode.php 'l'Aide de urldecode() sur un élément de $_GET ou $_REQUEST pourrait avoir des imprévus et des résultats dangereux.'
OriginalL'auteur Aron Rotteveel
Si vous utilisez Apache comme serveur, vous pouvez définir un alias d'un répertoire dans httpd.conf...
IIRC, l'alias, ce dossier n'a pas besoin d'être à la racine de votre site.
OriginalL'auteur ZombieSheep
Vous ne pouvez pas vous servir d'une page qui est en dehors de la racine web, car le chemin ne fonctionne pas, c'est à dire http://mydomain.com/../page.html se réfère simplement à un emplacement inaccessible.
Si vous voulez vraiment vous servir (statique) des fichiers qui sont à l'extérieur de la racine de votre site, vous pouvez écrire un petit script PHP de les lire et de sortie. Ainsi vous rediriger les requêtes vers le script PHP, et le PHP serait de lire le fichier à partir du disque et de le retourner en arrière.
OriginalL'auteur JamShady
Créer un lien symbolique à l'intérieur de la racine web qui pointe vers le répertoire de votre choix.
Apache doit
Options +FollowSymlinks
directive de configuration pour que cela fonctionne (vous pouvez le placer dans.htaccess
dans la racine de votre serveur web).L'écriture de script PHP qui sert les fichiers provenant de l'extérieur de la racine web de défaites le but de la racine web. Vous devriez vérifier les chemins très soigneusement pour éviter d'exposer l'intégralité du disque pour le web.
OriginalL'auteur Kornel
Il est impossible d'accéder directement à un fichier en dehors de la web-accessible sur le serveur web.
Cependant, vous pouvez écrire un script PHP qui va proxy images pour vous
parce que PHP peut envoyer des données d'image en HTML. Cette PHP "image" n'est pas limité dans le même dossier que le web accessible choses, il peut accéder à tout fichier lisible sur le serveur. Voir http://www.electrictoolbox.com/image-headers-php/ pour plus d'info
OriginalL'auteur Gareth
Vous pouvez soit faire un lien vers le répertoire de l'image à l'intérieur de la publique___code html, déplacer l'image répertoire public_html ou, si vous avez un goût particulier vers des solutions alambiquées, vous pouvez écrire un script qui lit le fichier image et les sorties à l'utilisateur (bien sûr, sauf si vous faites une liste de toutes les images, vous pourriez avoir un problème de sécurité potentiel dans vos mains).
OriginalL'auteur pilsetnieks