Newsgroup: it.lavoro.professioni.webmaster
Titolo: Thread mistery (nuovo)

Talvolta la logica dei threads sfugge alla mia misera logica umana.
Io mi trovo ads avere dei files organizzati in un directory tree come 
segue : (le parentesi acute indicano i directory e sotto directory)
<main directory>
--ita_index.php
--ita_testa.html
--ita_chisiamo.php
--corpo.html
--<images>
----immagini delle persone
--<ita>
-----people_it.htm
ita_index.php contiene quanto segue :
<?php
include('ita_testa.html');
include('ita_corpo.html');
?>
----
ita_testa.html contiene quanto segue :
...
<a href="ita_chisiamo.php">
Chi siamo</a>
----
ita_chisiamo.php  contiene quanto segue :
<?php
include('ita_testa.html');
include('ita/people_it.htm');
?>
il quale people_it.html fa riferimento a diverse peersone, tutte con 
relative foto, che si trovano nel directory <images>
------
Ora avviene la seguente cosa.
Se io mi posizione nel subdirectory <ita>
e clicco su people_it.htm, il browser da errore e non mi trova le foto 
delle persone, che si trovano tutte nel directory <images> cioè ad un 
livello più alto. Il che è abbastanza logico.
Però se io chiamo il tutto dal localhost con ita_index.php e clicco sulle
opzioni del menu, ad un certo punto, cliccando sulla voce 'chi siamo',
il tutto appare OK come si deve. Ciò contro ogni logica, perchè
non è che chiamando ad eseguire un file .htm includendolo in un php lo 
si 'alza automaticamente' di livello. Per cui se nel file si fa 
riferimento ad una foto che si trova su un subdirectory <images> se 
questo subdirectory si trova al posto in cui dovrebbe essere, non 
dovrebbe apparire niente,
come infattiu succede se si chiama il file da solo, senza riferirlo 
attraverso un  index.php.
Qualcuno sa spiegare la meccanica o la logica di ciò ??

 questo subdirectory *NON* si trova al posto in cui dovrebbe essere, non


 Qualcuno sa spiegare la meccanica o la logica di ciò ??
IMO al 99% hai sbagliato a indicare il percorso (presumo relativo) delle 
immagini.

 immagini.
sï¿œ, ma a me non ï¿œ visibile per niente.
Normalmente la sintassi corretta  ï¿œ  che
- per files nello stesso directory non c'ï¿œ bisogno di specificare niente
- per file in un subdirectory contenuto sullo stesso livello
   si scrive  'directory/file.ext'
- per un file in un subdirectory in un livello superiore invece
   si riferisce come '../directory/file.ext'
queste sono le regole che seguo normalmente.
Invece sembra che improvvisamente non siano piï¿œ cosï¿œ.

 si scrive 'directory/file.ext'
Per leggibilità e correttezza semantica ti conviene usare 
'./directory/file.ext'.

'./directory/file.ext'.
Come sei arrivato a questa conclusione?
-- 
ciao,
Marco

 Come sei arrivato a questa conclusione?
Quando faccio corsi su argomenti legati al web ho notato che uno degli 
errori più frequenti è proprio quello dei path relativi/assoluti.
Esplicitandolo il "current-dir" salta più all'occhio e in caso di 
sostituzioni (magari multiple) è più facile evitare sostituzioni parziali.
Quindi conclusione prettamente basata sull'esperienza personale.
Parlavo inoltre di correttezza semantica nel senso stretto del termine: 
esplicitare un'informazione in più aumenta la "quantità" di significato 
che il linguaggio fornisce.
Come dallo zen di python: Explicit is better than implicit. ;-)
Probabilmente sono solo giustificazioni pseudo-razionali per il fatto 
che ho sempre fatto gran uso del terminale (sia DOS che *NIX) e quindi 
sono abituato a leggere nelle prime due righe '.' e '..' :-)

 relative foto, che si trovano nel directory <images> ------
Quando fai un include() di un file e` come se facessi un copia-incolla, 
quindi tutti i link relativi che hai dentro ita/qualsiasicosa.htm puntano 
nel posto sbagliato.
 
O usi dei link assoluti (sconsigliato) o rivedi pesantemente la tua 
organizzazione dei file, magari usando un sistema di templating o un 
framework.
Bye.


Purtroppo mi trovo in un periodo 'interimale' per cui il direttore 
dell'Istituto invece della solita pagina 'Lavori in corso - Stiamo 
lavorando al nuovo sito' vorrebbe che si vedesse il contenuto del 
'vecchio' sito, assolutamente non strutturato, e sto cercando di
'trasportare' in modo indolore il vecchio sito possibilmente senza fare 
nessun cambiamento nell'HTML.