- Home
- Categorie
- Coding e Sistemistica
- PHP
- problema con l'include
-
Penso che se anche includi il file include.php, quando lo esegui lui usa il path del file file.php, che quindi comprende include... Prova a usare percorsi assoluti per le immagini...
-
vorrei evitare di utilizzare percorsi assoluti... non esiste un alternativa?
-
Prova a mettere ../ anche nel file include.php e vedi se va...
-
non ho creato nessun include.php ho solo usato il richiamo:
[PHP]include "header.php"[/PHP]
-
Si scusa ho sbagliato, volevo dire nel file header.php richiami l'imagine utilizzando ../ davanti al path...
-
@Piplos said:
vorrei evitare di utilizzare percorsi assoluti... non esiste un alternativa?
no se non vuoi diventare pazzo o scrivere... path assoluti per immagini e css a partire dalla root...
se fai un file html e metti un immagine con src="immagini/immagine.jpg" e poi sposti il file html in una sottocartella non caricherà più l'immagine...
quindi metti i path assoluti alle immagini, javascript, css ecc... e anche ai link se hai sub-directory...
-
si... ma dopo tutti i file nella root?
-
qual'e' il problema? ovunque sia i file php o html cercheranno le immagini in /immagini_o_quello_che_ti_pare/nome_immagine.estensione
metti i path assoluti alle immagini... non c'entrano nulla php e include e compagnia bella...
-
ho risolto mettendo in header.php:
[PHP]if( $pageLevel == 1 )
$addPath = ".";
else
$addPath = "";[/PHP]in testata:
[PHP] <img src="<?=$addPath?>./logo.gif" />[/PHP]e nella pagina:
[PHP]$pageLevel = 1; // Se il file non fosse in una cartella gli assegno 0 [/PHP]
-
Così funziona, ma se tu usi sempre:
include "/header.php"
Include sempre il file header presente nella root del sito, quindi dali imposti il path dell'immagine come vuoi tu
-
si ma non funziona nel caso io richiamo da una pagina in una sottocartella... tutti i percorsi andrebbero aggiornati!
-
No perchè se usi lo slash / prima del nome del file luui lo prende cme riferito alla root del sito. Quindi se fai include "/include.php" lui va a cercare il file nella root del sito, da qualsiasi directory viene richiamato...