Essayer d'utiliser PHP inclut dans une page Errordocument mais cela ne fonctionne pas dans différents répertoires

StackOverflow https://stackoverflow.com/questions/19850016

Question

Je pense que j'ai constaté que lorsque j'ai une page d'erreur Errordocument personnalisée, l'inclusion ne fonctionne pas toujours car l'inclusion nécessite un répertoire et la page qui a l'erreur peut être dans un répertoire différent.

directory1/directory2/thispagecausesa404error.php

directory1/thispagecausesa404error.php

Si j'ai include includepage.php; Dans ma page Errordocument, cela ne fonctionnera pas.

J'ai décidé d'ajouter include_once $_SERVER['DOCUMENT_ROOT'].'/includepage.php'; À la page Errordocument, qui résout le problème, mais je soupçonne que je fais quelque chose de mal ou que je ne vois pas la bonne façon d'avoir un inclure sans faille sur une page d'erreur.

Qu'est-ce que je fais mal?

Était-ce utile?

La solution

Je recommanderais de ne jamais compter sur DOCUMENT_ROOT être réglé correctement. Utilisez plutôt un chemin relatif à partir du script actuel via le __DIR__ constante magique, par exemple

include __DIR__ . '/relative/path/from/this/script/to/includepage.php';

Le chemin peut également contenir la traversée du répertoire parent via ../ Si nécessaire, par exemple

include __DIR__ . '/../../some/dir/includepage.php';
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top