Page 1 sur 2
messagee warning sur utilisation fonction include()
Posté : 07 nov. 2010, 20:06
par elodoriel
Bonjour,
je fais mes premiers pas php pour les besoins de mon projet site internet professionnel,
mon site est fait en xhtml strict et css
les memes informations se retrouvant sur un bon nombre de pages, informations qui serons fréquement mises à jour, donc je souhaite faire un include et j'ai fait un programme exterieur
après essais, j'ai ce genre de message
Code : Tout sélectionner
Warning: include(NOM DE FICHIER.php)
[function.include]: failed to open stream: No such file or directory in /home/XXXX/www/URL DE PAGE.html on line 156
Warning: include() [function.include]: Failed opening '/NOM DE DOSSIER/NOM DE FICHIER.php' for inclusion (include_path='.:/usr/share/php5') in /home/XXXX/www/URL DE PAGE.html on line 156
voila mon programme que le include fait appel, (il s'agit pour des produits nouveautés, de photos aléatoires avec liens vers la fiche produit)
<?php
$images = array(
array('image-url' => 'PRODUIT01.jpg' , 'image-link' => 'URL FICHE PRODUIT01.html'),
array('image-url' => 'PRODUIT02.jpg' , 'image-link' => 'URL FICHE PRODUIT02.html'),
array('image-url' => 'PRODUIT03.jpg' , 'image-link' => 'URL FICHE PRODUIT03.html'),
);
$random = rand(0,count($image)-1);
echo '<a href="'.$images['random']['image-link'].'"><img src="'.$images['random']['image-url'].'" /></a>';
?>
et voici la fonction que j'utilise pour faire appel dans la page html (dans une box définit en css)
<?php include('path/vers/le/NOM DE DOSSIER/NOM DE FICHIER.php'); ?>
là ma question le path c'est un dossier qui doit existé ??
je dois mettre vers/le/ puis NOM DE DOSSIER/NOM DE FICHIER.php ??
Merci pour votre aide, car je séche totalement. En cherchant sur le net je vois beaucoup d'erreurs équivalentes, mais aucune solutions
précision constat identique quelques soit le navigateur
Re: messagee warning sur utilisation fonction include()
Posté : 07 nov. 2010, 20:31
par moogli
salut,
tu a vraiment mis <?php include('path/vers/le/NOM DE DOSSIER/NOM DE FICHIER.php'); ?> ?
il faut, bien sur, mettre le nom du fichier à inclure.
donc si ton code est dans le fichier header.php tu fait un include('header.php').
s'il n'est pas dans le même dossier les régles habituelle s'applique (par exemple si le fichier est dans le répertoire includes : include('includes/header.php');
@+
Re: messagee warning sur utilisation fonction include()
Posté : 07 nov. 2010, 20:36
par Cyrano
Ce n'est pas un problème de navigateur, la fonction include étant exécutée en PHP coté serveur. C'est donc un problème de validité du chemin vers ton fichier qui est en cause. Le message indique tout simplement que le fichier n'est pas là où il est attendu.
Tu peux utiliser un chemin relatif ou absolu. Si tu utilises un chemin relatif, vérifie que ce dernier correspond bien à sa position par rapport au fichier d'où part l'appel.
Si tu utilises un chemin absolu comme semble le montrer ton message d'erreur, alors vérifie que le fichier est bien présent à cet endroit : "/home/XXXX/www/URL DE PAGE.html" : mais là en voyant ça, j'ai un doute : ça devrait être "/home/XXXX/www/NOM-DE-FICHIER.html" avec un nom de fichier et pas une URL.
Re: messagee warning sur utilisation fonction include()
Posté : 07 nov. 2010, 21:59
par elodoriel
Si tu utilises un chemin absolu comme semble le montrer ton message d'erreur, alors vérifie que le fichier est bien présent à cet endroit : "/home/XXXX/www/URL DE PAGE.html" : mais là en voyant ça, j'ai un doute : ça devrait être "/home/XXXX/www/NOM-DE-FICHIER.html" avec un nom de fichier et pas une URL.
Sorry coquille en neutralisant mes infos
Code : Tout sélectionner
Warning: include(path/vers/le/DOSSIER/FICHIER.php) [function.include]: failed to open stream: No such file or directory
in /home/xxxx/www/DOSSIER/PAGE.html on line 156
Warning: include() [function.include]:
Failed opening 'path/vers/le/DOSSIER/FICHIER.php' for inclusion (include_path='.:/usr/share/php5')
in /home/XXXX/www/DOSSIER/PAGE.html on line 156
Re: messagee warning sur utilisation fonction include()
Posté : 07 nov. 2010, 22:13
par elodoriel
salut,
tu a vraiment mis <?php include('path/vers/le/NOM DE DOSSIER/NOM DE FICHIER.php'); ?> ?
il faut, bien sur, mettre le nom du fichier à inclure.
donc si ton code est dans le fichier header.php tu fait un include('header.php').
s'il n'est pas dans le même dossier les régles habituelle s'applique (par exemple si le fichier est dans le répertoire includes : include('includes/header.php');
@+
Merci de ta réponse, donc je dois mettre soit l'url absolue complète (
http://NOMDEDOMAINE/DOSSIER/fichier.php), soit relative, uniquement le dossier/nomfichier.php c'est ça, j'ai pourtant je crois essayer les deux, je refais pour voir.
j'ai sur le net trouvé qu'il fallait mette pour une histoire de protection piratage, d'un port ouvert 24h autant que j'ai compris ??
le path/vers/le ou
path/to avant, ça que je ne comprend pas
dont en clair
je met dans ma page html , entre les deux div de ma box css, comme tu dis dans dont exemple il faut mettre juste
include('header.php') ou je dois mettre
<?php include('path/NOM DE DOSSIER/NOM DE FICHIER.php'); ?>
ma question étant le
vers/le/ ou
to/ c'est pour l'explication ou il faut le mettre vraiement dans le code ???
mes premiers pas php

Re: messagee warning sur utilisation fonction include()
Posté : 07 nov. 2010, 22:18
par moogli
il faut des fichiers avec l'extension .php
ensuite <?php include('header.php'); ?> à l'endroit voulu.
Je pense qu'il serait bon de lire les tutos de base pour t'aider.
@+
Re: messagee warning sur utilisation fonction include()
Posté : 07 nov. 2010, 22:25
par elodoriel
merci des infos, il est vrai que je suis trop impatiente, je vais zyeuxté les tutoriels à ce sujet...
mais j'avoue... j'ai 1 mois et demi de retard sur la mise en ligne de mon site, jeune artisan qui cherche avec un site vitrine la relance des ses ventes, et Noel est proche, je vais perdre des ventes si je met pas en ligne au plus vite, et j'ai tout fait sauf le php,
l'include va me servir à deux modules sur 100 pages articles
et après me reste 2 formulaires en vérification php et envoi sur mail
et encore toutes mes photos à faire et intégrer pfffff
je vais faire le test avec l'url comme tu dis, et je te dis au courant
mais le path/vers le ça sert ou pas ??? vraiement une histoire de protection fichiers ???
Re: messagee warning sur utilisation fonction include()
Posté : 07 nov. 2010, 22:40
par elodoriel
Bon la cata, j'ai encore plus de warning, je vous met la liste après... je m'en vais faire le repas...
mais mon programme image aléatoires doit avoir une erreur, car je n'ai que des symboles images et non les images d'essais.
Pourtant je viens de vérifier, pour image bon dossier, bon nom
et quand je clique le lien n'est pas le lien vers la page produit de l'image comme prévue mais vers la page déjà ouverte ??
concernant un tutoriel sur le forum, pas trouvé sur la fonction include()
Re: messagee warning sur utilisation fonction include()
Posté : 07 nov. 2010, 22:49
par Cyrano
Fais afficher la source du code HTML généré pour voir ce qu'il y a réellement d'envoyé au navigateur : ce sera un point de départ pour avoir une bonne idée de base de ce qui se passe.
Et accessoirement, si tu as un doute sur un bout de ton code,affiche-en les parties pertinentes ici, on repèrera probablement les coquilles s'il y en a. Pour l'instant, le premier bout que tu as montré au départ est correct, reste à voir le reste qui aboutit à ton problème actuel.
Re: messagee warning sur utilisation fonction include()
Posté : 07 nov. 2010, 22:56
par elodoriel
Merci cyrano le code est mis en début de ce post... image aléatoires
bon après tentative de modif, j'ai plein de warning différent, mais pas mangé je reviens dans 40mn si tu n'es plus là on verra demain soir
Re: messagee warning sur utilisation fonction include()
Posté : 07 nov. 2010, 23:48
par moogli
<?php
$images = array(
array('image-url' => 'PRODUIT01.jpg' , 'image-link' => 'URL FICHE PRODUIT01.html'),
array('image-url' => 'PRODUIT02.jpg' , 'image-link' => 'URL FICHE PRODUIT02.html'),
array('image-url' => 'PRODUIT03.jpg' , 'image-link' => 'URL FICHE PRODUIT03.html'),
);
$random = rand(0,count($image)-1);
echo '<a href="'.$images[$random]['image-link'].'"><img src="'.$images[$random]['image-url'].'" /></a>';
?>
Re: messagee warning sur utilisation fonction include()
Posté : 08 nov. 2010, 00:31
par elodoriel
Bon voici tout les warnings suite à ma tentative de mettre
<?php include('DOSSIER/fichier_images_aleatoires.php'); ?>
dans ma page html
Précision, je n'ai pas connecté à ma base MSQL, qui a été crée, mais dont je ne sais pas me servir encore, mais le warning cite bisarrement son nom XXXX
Code : Tout sélectionner
Warning: include(DOSSIER/fichier_images_aleatoires.php) [function.include]: failed to open stream: No such file or directory in /home/XXXX/www/DOSSIER/PAGE_OU_SE_TROUVE_LE_CODE.html on line 156
Warning: include() [function.include]: Failed opening 'DOSSIER/fichier_images_aleatoires.php' for inclusion (include_path='.:/usr/share/php5') in /home/XXXX/www/DOSSIER/PAGE_OU_SE_TROUVE_LE_CODE.html on line 156
si vous comprenez plus que moi... ?
Pour le bout de code que Moogli a remis pour moi (merci Moogli) il est la totalité du code, bien entendu il y aura plus d'images en vrai...
si je met
dans une page en xhtml je dois mette telle que le php soit
<?php include('DOSSIER/fichier_images_aleatoires.php'); ?> ou mettre en formulation html avec le code php dedans ???
bon je viens de tester mon programme php déjà lui a un soucis il fonctionne pas, meme s'il semble bon au niveau syntaxe
c'est l'adaptation de ce programme, mais je le veux en plus cliquable vers le lien du produit en question (image=produit)
http://www.supportduweb.com/scripts_tut ... asard.html
merci de votre précieuse aide

Re: messagee warning sur utilisation fonction include()
Posté : 08 nov. 2010, 02:39
par moogli
on va faire simple
1/ tu travail sur ton pc ou sur un serveur web (en ligne chez un hébergeur quelconque).
2/ si c'est sur ton PC quel est le chemin réelle du fichier ( par exemple c:\wamp\www\fichier_images_aleatoires.php)
3/ même chose sur le serveur distant mais il faut regarder sur ce serveur le chemin
4/ il faut mettre le chemin du fichier sur le PC où il se trouve en partant du répertoire de base du site web (en général www) donc dans mon exemple cela ferais simplement include('fichier_images_aleatoires.php');
a vu de nez je pense que include('/home/XXXX/www/fichier_image_aleatoires.php') en remplaçant xxxx par les infos que tu a enlevée devrait résoudre ton problème.
@+
Re: messagee warning sur utilisation fonction include()
Posté : 08 nov. 2010, 02:58
par elodoriel
pour répondre à tes questions:
1/ je travaille sur serveur via envoi FileZilla... hébergement: firstheberg qui a tout, mais moi je n'utilisais jusqu’à maintenant que le xhtml
2/ donc pas du local
3/ a ton autre question, chemin serveur /www/NEWSITE/
4/ je test comme tu dis
j'ai ouvert le MSQL pour les besoins de faire une base de donnée future, mais pour l'instant ça en reste là... pas le temps de m'y mettre... j'ai déjà passé ses 2 derniers moi à apprendre le xhtml et css pour réaliser mon site qui est sur la finalisation... et j'avoue avoir l'esprit totalement saturé à l'heure actuelle..
mon hébergeur me permet le langage php
MAIS LA QUESTION EN FOUILLANT LE NET.... dans une page tout en html et css peut-on mettre un include () qui est du langage php envoyant sur un fichier .php,
je trouve des NON
car c'est mon cas, vu que cette info va se trouver sur l'intégralité des pages de mon site soit 102 dans l'immédiat... hors de question d'avoir un fichier à corriger chaque mois manuellement, d'ou le fichier php que je veux inclure dans le cartouche réservé
Re: messagee warning sur utilisation fonction include()
Posté : 08 nov. 2010, 03:15
par elodoriel
je viens de tester dans ma page html la mise en place du code
<div id="produitnouveaute01">
<?php include('XXXX/www/NEWSITE/coupscoeurs02.php') ?>
</div>
si devant l'adresse je met /home/
j'ai ce warning :
Code : Tout sélectionner
Parse error: syntax error, unexpected T_STRING, expecting ')' in /home/XXXX/www/NEWSITE/coupscoeurs02.php on line 4
si j'enleve / ou /home même warning :
Code : Tout sélectionner
warning (include_path='.:/usr/share/php5') in /home/XXXX/www/NEWSITE/page.html on line 156
je dois charger un fichier

mettre en place une base php5
j'en reviens toujours à me demander si un code d'appel fichier.php dans une page xhtml est autorisé et si c'est cette forme

le programme qui se semble pas fonctionner de son coté est-il la cause de toute ça
je suis sensée avoir suite au programme, à chaque chargement de page une image aléatoire avec le lien qui emmene vers le descritif du produit en image (page elle en XHTML)