Ho un dubbio su come funzioni l'include (o che sia un bug di php).
Per evitare di usare iframe che non sono accessibili, e avendo piu siti che usano un'area comune, ho preparato un portale comune sito su un host (riferiamoci a lui come hostcomune).
All'interno dei singoli siti inserisco un include che chiama un file inc sito su hostcomune.
Il problema è che il file include su hostcomune include in se stesso file presenti in una sua sottocartella.
Essendo eseguito dal server degli altri host mi dice che non trova i files da includere.
Per oviare questo problema tutti gli include dovrebbero usare il percorso assoluto (http : //hostcomune/file.php) ma questo significa che per ogni file che uso in locale per sviluppare, prima di fare l'upload dovrei modificare tutti gli include.
Ho valutato come seconda soluzione di sovrascrivere la variabile di sistema include_path usando il codice ini_set("include_path", "hostcomune");
Verificando la variabile viene sovrascritta (anche facendo fare un echo ini_get('include_path'); sul server hostcomune) però da cmq l'errore dicendo che non trova il file da includere sul server.
Mettendo ad ogni include la path (ex: include(ini_get('include_path'). 'file.php');) funziona ma mi chiedevo, sovrascrivendo questa variabile non dovrebbe cercare sempre i file include da li?
Oppure funziona solo se il valore di include_path è una cartella (quindi in automatico cerca di accodarlo alla path dello script originando un url tipo http : //hostattuale/filefolder/http : //hostcomune/file.php)?
(ps ho dovuto mettere degli spazi negli url seno creava dei link)
Ultima modifica di nextage : 09-01-2007 alle ore 14.03.38
Il problema è che io ho una costante utilizzabile per questa cosa, ma essendo da usare in piu file si trova in un file di configurazione, che andrebbe incluso.
Il problema è che per includerlo dovrei farlo specificando questa costante.
Cmq usando semplici file php va tutto, il casino si pone se l'include va fatto via http:// il che mi fa dubitare che sia un vincolo (settato via ini cerca di usare una cartella col nome http:// a partire dal percorso da cui viene chiamato)
Però sul sito di php non trovo nulla
Su AlterVista non puoi includere file esterni e quindi se cerchi di includere un file con il percorso intero (che inizia con http://) su AlterVista non funziona.
Si tranquilli non mi riferivo a qui... era una domanda generica su php.
Mi succede su un'applicazione che ho in ufficio.
Provando cmq con percorso fisico anziche via url (fortunatamente sia l'hostcomune che le altre host sono sulla stessa macchina) funziona, quindi ho sempre piu il dubbio che se nn si specifica al'interno dell' include "nomefile.php" il percorso con http (tipo include "http : //host/file.php") ma si lascia che lo scriva da impostazione php lo accodi alla scriptpath e ottenga \\percorsofisico\http : //host/file.php
In ogni caso ormai è solo curiosità, ho risolto facendo un'altra cosa (purtroppo mi sono reso conto che alcune dichiarazioni di classe cozzavano perchè hanno lo stesso nome, anche se nn erano uguali, ma erano di due sistemi diversi che nn possono essere variati)
Solo che vorrei capire come funziona questa impostazione di php