ugrás a tartalomhoz

include?

fchris82 · 2003. Ápr. 21. (H), 21.07
Seikerült egy nagy fájlt csinálnom (~1300 sor). Az átláthatóság kedvéért a következőt csináltam (volna):
<?php
include("fejleck.inc");

if( feltétel 1 )
{
include("fájl1");
}
elseif( feltétel 2 )
{
include("fájl2");
}
elseif( feltétel 3 )
{
include("fájl3");
}

include("lablec.inc");
?>

Tehát fel tudtam szeletelni 3 részre (fájl1, fájl2, fájl3).
A fejleck.inc olyan "function"-okat tartalmaz, amik minden fájlban kellenek (amikre a fájl1-3-ban hivatkozok is!)
Csakhogy:
1. feltétel 1 teljesülése esetén, minden ok.
2. feltétel 2 és feltétel 3 esetén, viszont:
Fatal error: Cannot redeclare fv1() (previously declared in /ultraweb/***/fejleck.inc:14) in /ultraweb/***/fejlec.inc on line 2

A problémát az teszi számomra érthetetlenné, hogy ugyan létezik olyan fájl, hogy fejlec.inc (és az tartalmaz fv1() nevű definiciót), de SEHOL nincs rá hivatkozás! Sőt, ha a fájl1-3-ba csak annyit írok:

<?php
print ("ok");
?>

már akkor is megjelenik a fenti hibaüzenet, pedig itt aztán tényleg nincs említve fejlec.inc, de még csak fv1() sincs alkalmazva :(
Gondoltam átnevezem a fv-t, ne legyen ugyanaz a neve a két különböző fájlban: a fejleck.inc-ben a fv1 neve fv1k lett.
Ekkor jött más hibaüzenet:
Fatal error: Call to undefined function: fv1k() in /ultraweb/***/a/fajl1 on line 304
Nem vagyok hajlandó bemásolni a fajl1-3 ba a fejlec.inc fv-eit :mad:
Az volt a cél, hogy átláthatóbb legyen, és így már nagyon nem lenne az. Ha a fájlok tartalmát visszamásolom az include helyére, akkor minden ok.
Hogyan tudnám hát megoldani, hogy ne kelljen egybe pakolnom az egészet?
 
1

Re: include?

bbalint · 2003. Ápr. 22. (K), 00.34
cső!

nem olvastam végig a problémádat, mert lusta vagyok, de azthiszem,
a require_once() vagyhát az include_once() lesz a te barátod...

mert az include_once() csak akkor illeszti be a paraméterként megadott
filét, ha az már nincs beillesztve.
viszont, fontos a kis és nagy betű, még windows alatt is!

hát, enyi.

bbalint, bbalint##kukac##netposta.net
2

Re: include?

fchris82 · 2003. Ápr. 22. (K), 03.11
Köszi, de megoldottam máshogy (nem fogom kipróbálni, hogy az segítene-e :( )
A fájlokat kissé átalakítva, az if-eken belül, header() - el átirányítom a fájlra a kérést.
3

Re: include?

Scr34m · 2003. Ápr. 22. (K), 07.11
hat ha szereted csunyan megoldani a dologokat rajta :) amugy jobb ha leszoksz headerrol es csak akkor hasznalod ha nagyon kell lesznek meg problemaid vele es az atiranyitas != a mellette levo file be includeolassaval ugyanis olyankor uj kerest kell kuldeniee client nek a server fele