PHP e immagini

  • Creatore Discussione Creatore Discussione marik
  • Data di inizio Data di inizio

marik

Nuovo Utente
6 Set 2012
5
0
0
Salve,

sto creando delle nuove pagine al mio sito e ho un problema di caricamento con le immagini in PHP.

Ho una struttura ad albero così composta: cartella principale/sottocartella 1/sottocartella 2/pagina.php (le immagini le prendo da un'altra cartella situata nella principale).
Fin qui mi carica le immagini e tutto va benissimo ma se io aggiungo un'altra sottocartella (cartella principale/sottocartella 1/sottocartella 2/sottocartella 3/pagina.php) e aggiorno i collegamenti vedo la div ma non mi carica più l'immagine. La cosa strana è che se io al posto di un'immagine metto un colore quello si vede.

Ad esempio nel footer.php (posizionata nella cartella principale/struttura sito) che andrò ad includere nella "pagina.php" che si trova nella "sottocartella 2" ho una div con sfondo un'immagine:

PHP:
<?php 

	
	include '../../struttura sito/footer.php';



?>

In questo modo tutto funziona. Se io invece sposto la "pagina.php" in un'altra sottocartella (sottocartella 3) e aggiorno il percorso di footer.php non funziona:

PHP:
<?php 

	
	include '../../../struttura sito/footer.php';



?>

Non si vede più l'immagine ma se al posto di background-image gli do background-color il colore si vede.

Grazie per l'attenzione.
 
Devi verificare il persorso dell'immagine nel background-image, probabilmente se gli stili si trovano all'interno del file dato che hai spostato il file di 1 livello ti basterà aggiungere un ../ prima del percorso.
Comunque questo dovrebbe essere un problema con i css inseriti direttamente nel file, per evitarlo potresti creare un file css in una cartella fissa da richiamare in pagina.php.
 
Ultima modifica:
Si effettivamente hai ragione. Ma come creo un file css in una cartella fissa da richiamare in pagina.php?

Puoi farmi un esempio? Rispetto all'HTML cosa cambia nei CSS in PHP?
 
crei un file chiamato ad esempio style.css e dentro ci metti
PHP:
 .cat {
 background-image:url(http://struttura sito/cartella principale/immagine.png) ;
}

e poi lo richiami nel file pagina.php

con

PHP:
  <head>
<link rel=stylesheet  href="http://struttura sito cartellaprincipale/style.css" type="text/css">
  </head>

e dai class="cat" al div
 
crei un file chiamato ad esempio style.css e dentro ci metti
PHP:
 .cat {
 background-image:url(http://struttura sito/cartella principale/immagine.png) ;
}
Non è necessario usare url assoluti per le immagini, altrimenti il file css non avrebbe motivo di esistere (se non per dividere gli ambiti), si otterrebbe lo stesso effetto nel file.
 

Discussioni simili