2010-12-08 36 views
1

Je fais un système de modèles de base en PHP, le problème est:PHP, chemins d'image

J'ai un gestionnaire de requêtes principale où de l'endroit où tout est chargé et traité, mais à cause de ce que les chemins à l'intérieur le modèle CSS que j'ai téléchargé n'est plus correct.

Exemple:

<img src="assets/images/contact.gif" /> 

doit être:

<img src="templates/grey-box/assets/images/contact.gif" /> 

Est-il possible de résoudre ce problème, PHP sage?

+0

Pouvez-vous nous montrer la source des fichiers css/php? – nebkat

+0

projet complet: http://www.mediafire.com/?43w1kgtcpijj8er – Xyro

+0

mediafire.com/?43w1kgtcpijj8er est cassé maintenant ("Fichier non valide ou supprimé"). –

Répondre

1
define('HTTP_SERVER', 'http://www.myhomeurl.com/'); 
<img src="<?php echo HTTP_SERVER?>assets/images/contact.gif /> 
+0

Cela nécessiterait encore un changement manuel sur chaque lien, ce n'est pas mieux alors il serait de le changer à la main. – Xyro

-3

c'est ici

$imgarray = array('assets','script','css'); 
$tpl = '/templates/grey-box/'; 
foreach($imgarray as $i){ 
    $tpldir = $tpl.$i; 
    $str = preg_replace("/([^\/])($i)([\/])/i","\$1$tpldir\$3",$str); 
} 
+0

Ceci est plus la mise en forme du fichier, je suppose que le gars veut être en mesure de changer le chemin facilement et pas avec la mise en forme – lpostula

3

Ne soyez pas paresseux

  1. Utilisez toujours un chemin absolu . Rendez-le explicite, pas avec quelques hacks sales. Ce sera un cauchemar de soutien.

  2. Vous pouvez utiliser certaines variables auxiliaires, telles que $tpl_assets_path et l'utiliser dans le modèle.

Chemin absolu commence à partir // désigne la racine web-seite. Et chaque chemin sur votre page HTML devrait être.

Ainsi, le modèle doit être soit

<img src="/templates/grey-box/assets/images/contact.gif" /> 

ou

<img src="<?=$tpl_assets_path?>images/contact.gif" /> 
+0

Assurez-vous de 'urlencode()' vos chemins ainsi. – Brad