View Full Version : [PHP]help include
ho un file che lavora su db, il probblema che il file di configurazione dle db e una cartella sopra e include nn me lo da valido ???
es. cartella A, dentro A c'è a.php che al suo interno richiama include'../db.php';
ma nn riesce a leggermi il file.... ameno che nn metto db.php nella cartella A.
Adesso in php.net ho trovato esto:
Avvertimento
la versione per Windows di PHP antecedente la 4.3.0 non supporta l'accesso remoto ai file da parte di questa funzione, anche se allow_url_fopen è abilitato.
come posso risolvere?:rolleyes:
ho un file che lavora su db, il probblema che il file di configurazione dle db e una cartella sopra e include nn me lo da valido ???
es. cartella A, dentro A c'è a.php che al suo interno richiama include'../db.php';
ma nn riesce a leggermi il file.... ameno che nn metto db.php nella cartella A.Non è che a.php è a sua volta incluso da un altro file??? Infatti nota cosa dice il manuale: If filename begins with ./ or ../, it is looked only in include_path relative to the current working directory.
Adesso in php.net ho trovato esto:
Avvertimento
la versione per Windows di PHP antecedente la 4.3.0 non supporta l'accesso remoto ai file da parte di questa funzione, anche se allow_url_fopen è abilitato.
Non c'entra nulla se includi solo file locali.
Non è che a.php è a sua volta incluso da un altro file??? Infatti nota cosa dice il manuale: If filename begins with ./ or ../, it is looked only in include_path relative to the current working directory.
Non c'entra nulla se includi solo file locali.
in che senso nn posso includere un file da piu file? xche sono i dati per conettersi al db e la cosa mi serve in molte pagine????
in che senso nn posso includere un file da piu file? xche sono i dati per conettersi al db e la cosa mi serve in molte pagine????No .. non hai capito. Lo stesso file lo puoi includere da tutti gli script che vuoi. Devi però prestare attenzione se ci fossero inclusioni a catena.
No .. non hai capito. Lo stesso file lo puoi includere da tutti gli script che vuoi. Devi però prestare attenzione se ci fossero inclusioni a catena.
scusa ma nn ho capito quel catena,
nel senso include'include....'; ???
se è cosi che intendi cmq no
scusa ma nn ho capito quel catena,
nel senso include'include....'; ???
se è cosi che intendi cmq noNo, ecco una possibile situazione:
Directory A
a.php che contiene un include 'prova/b.php';
Directory A/prova
b.php che contiene un include '../db.php';
Penseresti che db.php vada messo nella directory A perché in b.php viene indicato ../
No, va messo nella cartella superiore alla A.
No, ecco una possibile situazione:
Directory A
a.php che contiene un include 'prova/b.php';
Directory A/prova
b.php che contiene un include '../db.php';
Penseresti che db.php vada messo nella directory A perché in b.php viene indicato ../
No, va messo nella cartella superiore alla A.
aaaaa ho capito thx ;) adesso controllo che nn abbia sta situazione :D :D ma cmq e un po controsenso vabbe basta saperlo ti ringrazio;)
ahhaa avevi ragione, ma come faccio ??? poi n'altra cosa nel file che includo e che include e un file con dentro solo function e le variabili al'esterno delle function nn me le prende dentro?
devo usare tipo variabili globali o cose dle genere?
Thx;)
ahhaa avevi ragione, ma come faccio ??? poi n'altra cosa nel file che includo e che include e un file con dentro solo function e le variabili al'esterno delle function nn me le prende dentro?
devo usare tipo variabili globali o cose dle genere?Puoi usare un path assoluto (è quello che faccio normalmente io):
include "${_SERVER['DOCUMENT_ROOT']}/aaa/bbb.php";
RagingBull
28-02-2007, 15:40
vediamo se ho capito bene:
tu hai il file con le credenziali di connessione al db (ipotetico config.inc.php) nella directory principale del sito
e lo vuoi includere in un file che sta due directory sotto?
esempio:
/sotto_directory_1/sotto_directory_2/file.php
giusto?
vediamo se ho capito bene:
tu hai il file con le credenziali di connessione al db (ipotetico config.inc.php) nella directory principale del sito
e lo vuoi includere in un file che sta due directory sotto?
esempio:
/sotto_directory_1/sotto_directory_2/file.php
giusto?
si esatto, mi conviene fare un'altra struttura? o come posso risolvere?
per il path come lo creo il file solo.path? ma tu hai scritto .php giusto?:muro: :confused:
scusate ma ho appena imparato php e nn sono molto pratico :D
RagingBull
01-03-2007, 08:30
allora guarda....io solitamente risolvo mettendo tanti ../ quante sono le directory da risalire:
ad esempio
config.inc.php sta nella directory principale
e index.php sta due sottodirectory sotto
include ("../../config.inc.php");
se config.inc.php sta in una sottodirectory...ad esempio "admin"
e index.php in altre due sottodirectory non appartenenti ad admin...ad esempio "sottod1/sottod2"
include ("../../admin/config.inc.php");
prova....dovresti risolvere così
thx ;)...
provo ;) e ti dico
perfetto thx ;):D :D
Solo na cosa, io ho un file con dentro delle funzioni e include lo metto al'inizio ma le funzioni non mi vede le variabili ameno che nn scrivi a mano le variabili al'inizio della pagina fuori dalle function.:...???
perfetto thx ;):D :D
Solo na cosa, io ho un file con dentro delle funzioni e include lo metto al'inizio ma le funzioni non mi vede le variabili ameno che nn scrivi a mano le variabili al'inizio della pagina fuori dalle function.:...???
:confused: :muro: :mc:
RagingBull
01-03-2007, 20:37
sinceramente ho capito solo che il mio aiuto al primo problema è servito
del resto del messaggio ho capito quasi nulla
http://img369.imageshack.us/img369/8196/immaginefk1.jpg (http://imageshack.us)
ecco in pratica nel file con le funzioni richiamo il file con i dati del db il probblema che le funzioni nn me le vedono
RagingBull
05-03-2007, 13:25
spero di aver capito bene:
tutti quei quadratini rossi vuoti sono directory al cui interno ci sono file che richiedono le funzioni di kiamata al database.
se è giusto quello che ho scritto, devi utilizzare un percorso diverso per ogni include. a seconda di quanto vai giù con le sottodirectory.
spero di aver capito bene:
tutti quei quadratini rossi vuoti sono directory al cui interno ci sono file che richiedono le funzioni di kiamata al database.
se è giusto quello che ho scritto, devi utilizzare un percorso diverso per ogni include. a seconda di quanto vai giù con le sottodirectory.
si hai capito bene ma nn ho ben compreso quel defe modificarsi in base al livello della directory, come deve essere moficiato?
RagingBull
05-03-2007, 20:20
per i file della directory principale:
include ("cartella_file_database/config.inc.php");
per le sottodirectory di "cartella_file_database":
include ("../config.inc.php"); aggiungendo tanti ../ quante sono le sottodirectory da risalire.
per tutte le altre "ramificazioni" della struttura del sito:
include("../cartella_file_database/config.inc.php"); aggiungendo tanti ../ quante sono le sottodirectory da risalire.
la stessa cosa la puoi applicare a qualsiasi file da includere
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.