PHP és az includeja. Milyen megoldás van a keresztbe includeolásokra?
Sziasztok!
Az alábbi scenario-t kellene elképzeljétek:
Van nekem egy könyvtár szerkezetem:
classes
_libs
user
---admin (Az admin a user alatt)
A user könyvtárban van egy register.php fájl ahol
require_once '../classes/MyMailer.php';-lal van behozva a MyMailer a MyMailer-ben pedig a
require "../_libs/PHPMailer.php"; van használva
Na most az admin/accounts.php oldalon be van includeolva a MyMailer (require_once '../../classes/MyMailer.php';)-val és elszáll hibával:
Warning: require(../_libs/PHPMailer.php): failed to open stream: No such file or directory in .../classes/MyMailer.php on line 2
Most akkor én ezt nem értem. Az include nem attól függően keresi a fájlokat amelyik fájlon van hívva az include?
Most ebben az esetben olyan mintha a MyMailer.php PHPMailer includeja az admin/accounts.php helyzetétől keresné.
Miért?
$_SERVER["document_root"]-tal megoldódott.
De azért érdekel hogy miért nem úgy működik ahogy én gondoltam hogy működik
Igen, ez sajna egy ilyen dolog egymásba ágyazásnál. Használj inkább abszolút elérési utakat. Egy megoldás pl:
include $_SERVER['DOCUMENT_ROOT'].'/path_from_root/file_name.php';
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!