Inclusion de fichier

Répondre
erge
le 20/10/2009 à 12:10
erge
Bonjour,

Est-ce que cette syntaxe est logique et correcte, parce qu'elle ne fonctionne pas.
<?PHP
if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page'];
if ($page =="2001") include ('Telechargements/PV/2001/2001.htm');
if ($page =="2002") include ('Telechargements/PV/2002/2002.htm');
?>

<?PHP
echo ("$page");
?>

Voici le message que ça génère :
Warning: main(Telechargements/PV/2001/2001.htm): failed to open stream: No such file or directory in /var/web/dptscvie/public_html/Telechargements/pv.php on line 151

Warning: main(): Failed opening 'Telechargements/PV/2001/2001.htm' for inclusion (include_path='.:/usr/share/pear') in /var/web/dptscvie/public_html/Telechargements/pv.php on line 151


Merci de m'éclairer.
LA GLOBULE
le 20/10/2009 à 12:45
LA GLOBULE
Ta méthode est logique (personnellement, je mettrais un elseif et un else, et je testerais si le fichier existe, justement pour éviter l'erreur que tu as).

Mais sinon l'erreur dit simplement que PHP ne trouve pas ton fichier, tu as un problème de chemin.

A la vue de l'erreur, je dirais que tu dois faire un :

include ('PV/2001/2001.htm');
erge
le 20/10/2009 à 14:05
erge
un problème de chemin ! peut-être mais je ne vois pas l'erreur. Le fichier pv.php se trouve dans le dossier Telechargements qui lui comporte d'autres dossiers comme le dossier PV dans lequel sont les dossiers 2001, 2002, 2003... qui eux contiennent les fichiers à inclure.
Merci encore
LA GLOBULE
le 20/10/2009 à 14:13
LA GLOBULE
Justement, vu que pv.php se trouve dans Telechargements, quand tu fais tes includes, pas besoin de spécifier le dossier Telechargements.

Donc essaye ce que je t'ai dis :
include ('PV/2001/2001.htm');
erge
le 20/10/2009 à 15:06
erge
y a rien à faire, ça ne fonctionne pas.
Petite explication complémentaire :
le dossier Telechargements se trouve protégé par .htaccess.
J'ai essayé aussi avec
switch($page)
{
case '2001': include ('PV/2001/2001.htm');break;
et ça ne fonctionne pas non plus.
C'est pour cela que je me demande si c'est pas cause de la protection. Pour le savoir je devrais peut-être essayer sans protection. Ce que je vais faire. Je reviens.
erge
le 20/10/2009 à 15:15
erge
Apparemment rien avoir avec le fait que ça soit protégé. Même hors cette protection ça ne fonctionne pas. L'erreur doit se trouver ici :
<?PHP
if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page'];
if ($page =="2001") include ('PV/2001/2001.htm');
if ($page =="2002") include ('PV/2002/2002.htm');
?>
erge
le 20/10/2009 à 16:13
erge
ou ici selon si je choisis ce code :
<?PHP
if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page'];
switch($page)
{
case '2001': include ('PV/2001/2001.htm');break;
case '2002': include ('PV/2002/2002.htm');break;
...
case '2009': include ('PV/2009/2009.htm');break;
default:
echo "Page en constructon.";break;
}
?>
laura
le 20/10/2009 à 16:25
laura
C'est peut être un problème d'inclusion. Si ta page Telechargements/pv.php est elle même incluse dans une autre page, tu dois spécifier ton chemin à partir de cette dernière.
Des étoiles dans les yeux, le ciel pour m'évader
erge
le 20/10/2009 à 16:39
erge
Merci Laura,
Je ne sais pas où se situe le problème. Ma page pv.php est la page principale où se trouve tout le code qui permet d'inclure mes fichiers dans cette même page et elle est tout à fait indépendante des autres. Maintenant je pense qu'il y a un problème dans mes directions de chemins, peut-être au niveau de mon formulaire. J'avoue que je tourne en rond depuis hier et ça me fatigue de ne pas trouver. J'ai vraiment besoin d'aide sur ce coup.
laura
le 20/10/2009 à 17:01
laura
C'est peut être bête comme question mais t'as pensé à regardé les droits sur tes dossiers,fichiers (le chmod)?!
Autre question bête, tes fichier porte bien l'extension htm et non html?

Sinon si je comprends ton arborescence ressemble à ça

Telechargement/pv.php
Telechargement/PV/2001/2001.htm
Telechargement/PV/2002/2002.htm
etc
etc

Je viens de faire un test et si en partant du fait que t'as un lien direct sur pv.php normalement tes includes devraient ressembler à ça PV/2001/2001.htm, PV/2002/2002.htm etc

t'as essayé de lister ton dossier à partir de pv.php avec un glob et un masque assez large pour voir ou il cherche réellement?
Des étoiles dans les yeux, le ciel pour m'évader
Répondre
LoadingChargement en cours