2013-01-06 9 views
26

Sto usando require_once come questoUtilizzando require_once per un massimo di directory non funziona

require_once('../mycode.php') 

Sto sviluppando un plugin per WordPress. La mia cartella di plugin è yves-slider, dove ho un file chiamato yves-slider.php e una cartella chiamata admin. All'interno della cartella di amministrazione ho un file chiamato admin.php. Voglio richiedere il file yves-slider.php nel mio admin.php che si trova nella directory di livello superiore. Quando provo ad usare

require_once('../yves-slider.php') 

mi dà il seguente errore

Warning: require_once(../yves-slider.php): failed to open stream: No such file or directory in C:\xampp\htdocs\wordpress\wp-content\plugins\yves-slider\yves-slider-admin\yves-slider-admin.php on line 4

Fatal error: require_once(): Failed opening required '../yves-slider.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\wordpress\wp-content\plugins\yves-slider\yves-slider-admin\yves-slider-admin.php on line 4

faccio di sbagliato? Sto usando XAMPP 3.1, credo che sia il modo migliore per farlo.

+0

Spesso si verifica questo errore e per risolverlo rapidamente, attenersi alla seguente procedura: stackoverflow.com/a/36577021/2873507 –

risposta

49

Si vuole fare quello relativo al percorso corrente il file è in:

require_once __DIR__ . '/../yves-slider.php'; 

Ciò che probabilmente sta accadendo è che il percorso corrente PHP guarda in è non il percorso si pensa che è. Se sei curioso di sapere cos'è (il percorso attuale) potresti fare echo getcwd();.

+0

Che diavolo mi manca un "/" nell'esempio "/../yves- slider.php ': D grazie mille .. la tua risposta verrà verificata tra 6 minuti. Perché diavolo ne ho bisogno? "/"? invece di direttamente '../yves-slider.php' –

+0

ma mi chiedo, perché questo tipo di percorsi "relativi" funzionano: require_once "directory/class.php" – emfi

+1

@emfi quelli sono relativi alla directory di lavoro corrente e dovrebbero essere evitato per flessibilità nel codice. – PeeHaa

Problemi correlati