Domanda

Ho un sito con index.php nella cartella principale, immagini in /img, e overview.php in /content. Ho un file sidebar.php che è incluso in entrambe le index.php e overview.php. Come devo fare riferimento a /img/image.gif se includo un collegamento in ogni file?
La posizione di image.gif cambia rispetto alla posizione del file che vi fa riferimento.
Utilizzando /img/image.gif in sidebar.php lavorerà in index.php, ma non riesce per il file che si trova a /content/overview.php.
L'unica soluzione che posso vedere è quello di includere un sidebar.php separato in ogni sotto-directory, o includere una directory /img in ogni sub-directory.
Il miglior consiglio che posso trovare è quello di utilizzare il <base> tag HTML come suggerito qui:
cambiare i percorsi relativi collegamenti per i contenuti inclusi in PHP

Tuttavia, lo stesso link, SamGoody suggerisce che il <base> tag is no longer properly supported in Internet Explorer, since version 7.

Vorrei qualche informazione sulla questione prima di impegnarsi in un corso d'azione.

Grazie.

EDIT: Sto usando l'approccio sbagliato sotto con "../"

Esempio-

root / index.php:

...  
<link rel="stylesheet" type="text/css" href="style.css" />  
<title>title</title>  
</head>  
<body>  
<?php include('include/header.php'); ?>  
<?php include('include/menu.php'); ?>
...  

root / include / header.php:

...  
<div id="header">  
<span class="fl"><img src="img/dun1.png"/></span><span class="fr"><img src="img/dun2.png"/></span> 
...  

root / content / overview.php:

...  
<link rel="stylesheet" type="text/css" href="../style.css" media="screen" />  
<title>Overview</title>  
</head>  
<body>  
<?php include('../include/header.php'); ?>
<?php include('../include/menu.php'); ?>
...
È stato utile?

Soluzione

Utilizzando /img/image.gif in sidebar.php lavorerà in index.php, ma non riesce per il file che si trova a /content/overview.php

Ma non dovrebbe. Il / precede rende un percorso assoluto che funziona da qualsiasi punto sul server. Se questo non funziona per voi, c'è un problema da qualche parte - in quel caso, inviare alcuni esempi.

A meno che non si prevede di spostare l'intero sito in un uno giorno sotto-directory, o le immagini passare a un Content Delivery Network (entrambe le azioni richiederebbe riscrivere gli indirizzi) si può tranquillamente utilizzare URL assoluti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top