2009-09-09 8 views
0

Par les conseils de quelqu'un, j'ai mis tous mes fichiers PHP dans un dossier séparé (inc) au même niveau que htdocs. Seul index.php est laissé dans htdocs. Ainsi, il est comme ça:PHP ne trouve pas mes fichiers php sinon sous le dossier htdocs

C: \ MyProject \ htdocs
- index.php

C: \ MyProject \ inc
- login.php
- util.php
- register.php Maintenant, quand je vais à localhost dans mon navigateur, index.php est traité et affiché correctement. Mais les liens vers d'autres fichiers php ne sont pas trouvés. J'ai essayé d'ajouter des liens avec "inc", mais ils ne sont toujours pas trouvés. Que devrais-je faire?

Mon fichier php.ini a cette ligne (il est sous Windows):
include_path =;:

Répondre

3

Le but d'un répertoire include est de placer les fichiers que vous ne voulez pas être accessibles par un serveur Web. Si login.php doit être accessible via une URL comme:

http://yourdomain.com/login.php

alors ne mettez pas login.php dans le répertoire include. Mettre util.php dans un répertoire include est logique parce que vous ne voulez jamais ceci:

http://yourdomain.com/util.php

0

Je crois que vous devez les backslashs dans votre php.ini - "C \ MyProject \ inc." - donc ça devrait être C:\\myproject\\inc. Mais comme d'autres l'ont souligné, vous ne pourrez pas utiliser un navigateur pour accéder aux fichiers PHP dans votre répertoire include, car le serveur web ne permettra pas l'accès à un répertoire en dehors de l'arborescence htdocs.

+0

Je préfère utiliser des barres obliques, mais le double slash doivent être bien aussi (sur environnement Windows) – w35l3y

1

Vous ne pouvez pas mettre des fichiers accessibles sur le Web en dehors du dossier htdocs, vous devriez utiliser le dossier « inc » pour les fichiers comme « database_functions.inc » qui ne devrait pas être ouvert directement dans votre navigateur:

http://localhost/index.php // directly accessible - goes in htdocs 
http://localhost/login.php // directly accessible - goes in htdocs 
http://localhost/register.php // directly accessible - goes in htdocs 

http://localhost/util.php // you don't want people loading this file directly - put in 'inc' 
http://localhost/database_functions.php // you don't want people loading this file directly - put in 'inc' 
Questions connexes