include?
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?
■ <?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?
Re: include?
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
Re: include?
A fájlokat kissé átalakítva, az if-eken belül, header() - el átirányítom a fájlra a kérést.
Re: include?