Direction -Chemin fichier racine - PHP-Yosemite [Résolu/Fermé]

Signaler
Messages postés
36
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
8 mars 2016
-
Messages postés
36
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
8 mars 2016
-
Bonjour tout le monde,

J'ai un énorme pb j'ai demandé a bcp de monde de l'aide, on a toujours aucune solution :(

Je vous explique:

J'ai un Mac Yosemite, la direction des fichiers, les include et les require ne se font pas correctement.

Tous mes docs se trouvent dans un dossier Sites(là ou on inclue tous les docs PHP de tous les projets).

J'ai donc créé un projet qui s'appelle emploi.

Dans le dossier emploi, j'ai un dossier candidats, recruteurs, et autres.

Dans le dossier candidats j'ai un dossier souhaits.

Dans le dossier souhaits, j'ai voulu mettre plusieurs sous -dossiers histoire de bien organiser le répertoire vous voyez ?

Les sous-dossiers sont les dossiers suivants:

- include (inclut un header_souhaits.php, footer.php)

- souhait 1

- souhait 2

- souhait 3

- souhait 4

- souhait 5.

Dans souhait 1: j'ai un fichier souhait_candidats1.php, codephp_souhait1, edition_souhaits.candidats.php.

Comment, dans ma page souhait_candidats1.php je peux appeler le souhait_candidats2 qui se trouve dans le dossier 2 et comme j'inclus svp un include header quand sur ma page j'ai le message d'erreur suivant :

"Warning: include(includes/header_souhaits.php): failed to open stream: No such file or directory in/Users/michaelaidan/Sites/emploi/candidats/souhaits/souhait1/souhait_candidats1.php on line 6


Warning: include(): Failed opening 'includes/header_souhaits.php' for inclusion (include_path='.:/Applications/MAMP/bin/php/php5.6.10/lib/php') in/Users/michaelaidan/Sites/emploi/candidats/souhaits/souhait1/souhait_candidats1.php on line 6"

?

Merci beaucoup

1 réponse

Messages postés
2371
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
13 janvier 2021
437
Salut,

Essaye de renseigner le chemin absolu vers tes fichiers :
include '/Users/michaelaidan/Sites/emploi/candidats/include/header_souhaits.php';


Bonne journée
Messages postés
36
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
8 mars 2016

J'ai deja essayé Pitet comment indiques tu un chemin relatif grace a un dossier parent ou dossier différent qui inclue deja un dossier parent en PHP ?
Merci
Messages postés
2371
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
13 janvier 2021
437
Le chemin relatif dépend du point d'entrée de ton application, autrement dit cela dépend du fichier appelé pour voir ton site.

Si tu accèdes à ton site via l'url http://localhost/Sites/candidats/souhaits/souhait 1/souhait_candidats1.php, le point d'entrée est donc le fichier souhait_candidats1.php. Il faut donc partir de ce fichier pour inclure les autres fichiers en relatif.
Par exemple pour inclure le fichier souhait_candidats2.php situé dans souhait 2, on peut utiliser le chemin :
// le point d'entrée est souhait_candidats1.php, donc nous sommes dans le dossier "souhait 1"
// '../souhait 2/souhait_candidats2.php' -> grâce au .. on remonte d'un niveau, on arrive dans le dossier "souhaits", puis on va chercher souhait_candidats2.php dans le dossier "souhait 2"
include '../souhait 2/souhait_candidats2.php';
Messages postés
36
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
8 mars 2016

Merci Pitet, j'ai appris que require est plus sécurisé, tu pourrais me donner le meme exemple pour require stp ? merci
Messages postés
2371
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
13 janvier 2021
437
L'utilisation de require est identique à include, seul le retour d'erreur diffère.

https://www.php.net/manual/fr/function.require.php
Messages postés
36
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
8 mars 2016

Merci pitet