Include PHP et Classes

Include PHP et Classes - PHP - Programmation

Marsh Posté le 22-05-2005 à 17:06:30    

Bonjour à tous,
 
j'essaie d'inclure un include PHP dans mes pages HTML (include que je peux sauver, si j'ai bien compris en .htm, .php ou même .txt):  
 
--------------
<div id="droite">
</div>
 
<div id="gauche">
</div>
 
<div id="contenant_menu">
 <ul id="menu">
  <li id="menu"><a title="Accueil" id="accueil" href="/index.htm"></a></li>
  <li id="menu"><a title="Photographies" id="photographies" href="/photographies/photographies.htm"></a></li>
  <li id="menu"><a title="3D" id="trois_d" href="/3d/3d.htm"></a></li>
  <li id="menu"><a title="Informations" id="informations" href="/informations/informations.htm"></a></li>
  <li id="menu"><a title="Contact & Curriculum Vitae" id="contact_cv" href="/contact_cv/contact_cv.htm"></a></li>
 </ul>
</div>
--------------
 
Par contre, cet include appellent des classes qui sont contenues dans une CSS appelé par le fichier HTML.
Or d'après le résultat, celle-ci n'ai pas chargée, cela ne fonctionne pas.
 
Comment devrais-je m'y prendre svp ?
 
Et l'include c'est bien juste (par exemple) : <? include ("include/include.htm" ); ?> dans mon fichier HTML appelant ?
 
Merci.

Reply

Marsh Posté le 22-05-2005 à 17:06:30   

Reply

Marsh Posté le 22-05-2005 à 17:09:57    

Désolé, je viens de comprendre, mon fichier appelant doit porter l'extension "php".
 
Sinks.

Reply

Marsh Posté le 22-05-2005 à 17:19:08    

C'est nouveau ca  ;)


---------------
- Annuaire  PHOTOGRAPHIE sur Tagbox.fr -
Reply

Marsh Posté le 22-05-2005 à 17:36:49    

Une autre question qd-même svp ;) ?
 
<? include ("/include/include.txt" ); ?> ne marche pas, on ne peut commencer par un "/", le chemin doit être relatif de type "../../" ?
 
Et donc il faut changer le chemin de l'include si les pages HTML ne sont pas au même niveau de l'arborescence ?
 
@sonikbuzz : C'est nouveau ça ;) : il faut bien que le fichier appelant un include porte l'extension php, non ?

Reply

Marsh Posté le 22-05-2005 à 18:04:29    

Bon trouvé, désolé, je chercherai un peu plus la prochaine fois mais comme le PHP ch'uis zéro, je pensais que ce serait beaucoup plus compliqué.
 
<? include ("include.php" ); ?>
 
Et hop, cela marche de partout.
 
à+.

Reply

Marsh Posté le 22-05-2005 à 18:58:20    

Beral2 a écrit :


@sonikbuzz : C'est nouveau ça ;) : il faut bien que le fichier appelant un include porte l'extension php, non ?


 
Non du moment que ton include() est entre <?php ?> ca marche  ;) .
 
[petit conseil]
évite d'utiliser <? écrit ca plutot <?php
[/petit conseil]


---------------
- Annuaire  PHOTOGRAPHIE sur Tagbox.fr -
Reply

Marsh Posté le 22-05-2005 à 21:37:43    

[Acquiescement]
D'accord, j'essaie dès que j'ai le temps ;)
[/Acquiescement]
 
Merci.

Reply

Marsh Posté le 23-05-2005 à 11:17:40    

Pourtant si mon fichier appelant est index.htm et que j'y insère <?php include ("include.php" ); ?>, cela ne marche pas.

Reply

Marsh Posté le 23-05-2005 à 13:03:25    

essaie avec index.php

Reply

Marsh Posté le 23-05-2005 à 13:19:42    

Beral2 a écrit :

Pourtant si mon fichier appelant est index.htm et que j'y insère <?php include ("include.php" ); ?>, cela ne marche pas.


C'est normal, pour qu'un fichier soit interprété par l'interpréteur PHP (ho c'est bo ça), il faut qu'il ait l'extension .php


Message édité par The-Shadow le 23-05-2005 à 13:19:59
Reply

Marsh Posté le 23-05-2005 à 13:19:42   

Reply

Marsh Posté le 23-05-2005 à 13:42:35    

Et au passage, si le fichier inclus n'a pas de PHP dedans, qu'il faut l'inclure bêtement, vaut mieux passer par un <?php readfile('pouet.html') ?> qui sera infiniment plus rapide...


Message édité par FlorentG le 23-05-2005 à 13:42:46
Reply

Marsh Posté le 23-05-2005 à 14:34:30    

file_get_contents est + rapide ;)

Reply

Marsh Posté le 23-05-2005 à 14:37:25    

Non, parce que avec file_get_contents faut encore que tu fasse un echo :

$file = file_get_contents('pouet.html');
echo $file;


Alors que readfile balance le truc direct ;)

Reply

Marsh Posté le 23-05-2005 à 15:21:20    

Bon merci tout le monde, j'essaie donc avec un <?php readfile('pouet.html') ?>. Ca marche aussi avec un fichier txt ? Je regarderai.
Ce qui était bien avec le fichier include.php dans un répertoire lui-même appelé include dans le répertoire racine, c'est qu'on pouvait l'appeler directement de partout sans avoir à changer le chemin. Avec pouet.html aussi ? Je regarderai.
 
OK faut qu'il ait l'extension PHP, mais sonikbuzz (voir au dessus) me disait que non, alors j'ai essayé, mais sans succès. (Sinks qd-même sonikbuzz, grâce à toi je commence par <?php et plus par <? ;) ).
 
à+.

Reply

Marsh Posté le 23-05-2005 à 16:00:14    

FlorentG a écrit :

Non, parce que avec file_get_contents faut encore que tu fasse un echo :

$file = file_get_contents('pouet.html');
echo $file;


Alors que readfile balance le truc direct ;)


Je plusoie, même si je ne connaissais pas ce truc avant que tu me l'apprennes. :D
 
http://raditha.com/wiki/Readfile_vs_include (en Anglais)

Reply

Marsh Posté le 23-05-2005 à 16:25:40    

<?php readfile('pouet.html') ?> marche bien (même avec un .txt) mais il lui faut un chemin relatif (ne commençant pas par "/" ). Donc changer le chemin en fonction de l'emplacement  dans l'arborescence du fichier appelant.

Reply

Marsh Posté le 23-05-2005 à 19:42:38    

excellent les gars :love:  
 
Je faisais tjs des include sur les html :pt1cable:  
 
Merci pour l'astuce :jap:

Reply

Marsh Posté le 23-05-2005 à 19:44:40    

Cela dit, ce que je conseille perso, c'est de faire un script PHP qui génère les HTML sans PHP. Parce que pas mal d'hébergeur gratuit ne supporte pas le PHP.

Reply

Marsh Posté le 23-05-2005 à 20:59:29    

Les hébergeurs gratuits c'est naze de tout manière :o Faut vraiment être le dernier des crevards et le dernier des rats pour pas vouloir taxer 30€ par an pour un vrai site :D

Reply

Marsh Posté le 23-05-2005 à 21:09:33    

FlorentG a écrit :

Les hébergeurs gratuits c'est naze de tout manière :o Faut vraiment être le dernier des crevards et le dernier des rats pour pas vouloir taxer 30€ par an pour un vrai site :D


ouaip, c'est ce que je me dis aussi, mais bon, vu le nombre de site perso Voilà, il vaut mieux prévenir que guerrir.
Sans compter que les pages persos Wanadoo (par exemple) ne supportent pas le PHP, quand on sait que Wanadoo est le numéro 1 des FAI et que bon nombre de gens se "contentent" de leur espace généreusement offert ("humhum" ), il ne faut pas partir du principe que PHP est systématique désormais.
Perso, j'ai un petit script qui me convertit mes pages PHP en html pour certains sites que j'ai fait, juste histoire de. En plus, l'avantage, c'est que pour un site statique, ça va bien plus vite que pour un site PHP.

Reply

Marsh Posté le 23-05-2005 à 21:12:05    

Bah moi avec ma technologie XSLT/XML/XHTML/PHP4/DOMXML, je modifie cette ligne :

echo $xml_doc->dump_mem(true, 'utf-8');


En :

$xml_doc->dump_file('fichier.html');


Et le tour est joué :sol:

Reply

Marsh Posté le 23-05-2005 à 22:41:17    

Personnellement je suis chez Free, 1 Go, pas de pub, gère le PHP, le tout gratos, personnellement rien à redire (surtout pour un site perso, un pro peut-être...).

Reply

Marsh Posté le 24-05-2005 à 09:05:59    

Chez free c'est lent  :o


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 24-05-2005 à 10:53:53    

Il y a aussi laposte.net qui fait dans l'hebergement gratuit il me semble.
 
C'est Xav_ qui a un compte la bas (a condition que je me trompe pas de personnes :p).

Reply

Marsh Posté le 27-05-2005 à 17:56:40    

The-Shadow a écrit :

C'est normal, pour qu'un fichier soit interprété par l'interpréteur PHP (ho c'est bo ça), il faut qu'il ait l'extension .php


 :non: re - NON !!  
L'interpréteur PHP il s'en fout pas mal de l'extension php  :pfff:  
 
On peut trés bien utiliser du php (dont la fonction include() ) dans un fichier ayant une extension .html par exemple.
 
J'arrete pas de le faire et y'a pas de problème.  
 
 
dsl pour le up  ;)  
 


---------------
- Annuaire  PHOTOGRAPHIE sur Tagbox.fr -
Reply

Marsh Posté le 27-05-2005 à 19:03:17    

sonikbuzz a écrit :

:non: re - NON !!  
L'interpréteur PHP il s'en fout pas mal de l'extension php  :pfff:  
 
On peut trés bien utiliser du php (dont la fonction include() ) dans un fichier ayant une extension .html par exemple.
 
J'arrete pas de le faire et y'a pas de problème.  
 
 
dsl pour le up  ;)


Ouais, mais c'est nul, parce que n'importe quelle page, même si elle contient pas de PHP, sera parsée... En plus y'a aucun séparation PHP/HTML, donc la moindre modif c'est la galère :/

Reply

Marsh Posté le 27-05-2005 à 19:12:15    

sonikbuzz a écrit :

:non: re - NON !!  
L'interpréteur PHP il s'en fout pas mal de l'extension php  :pfff:  
 
On peut trés bien utiliser du php (dont la fonction include() ) dans un fichier ayant une extension .html par exemple.


Ouai ho, ça va, dans la plupart des cas, c'est le cas et dans le cas contraire, ça veut dire qu'Apache est mal configuré ou mal optimisé. Je sais très bien qu'il suffit d'éditer une ligne dans httpd.conf pour mettre les extensions qu'on veut, mais comme dis FlorentG, c'est n'importe quoi.
 

Reply

Marsh Posté le 27-05-2005 à 21:03:44    

FlorentG a écrit :

Ouais, mais c'est nul, parce que n'importe quelle page, même si elle contient pas de PHP, sera parsée... En plus y'a aucun séparation PHP/HTML, donc la moindre modif c'est la galère :/


j'ai donné html en exemple, je dit pas que c'est bien ou pas, je dis que c'est possible.
Les .inc c'est quand meme courant  comme extension de fichier contenant du php. non ?
Aprés c'est une histoire d'organisation...  
 
 

The-Shadow a écrit :

Ouai ho, ça va, dans la plupart des cas, c'est le cas


La plus part des cas ou les serveurs free ?
 

The-Shadow a écrit :


et dans le cas contraire, ça veut dire qu'Apache est mal configuré ou mal optimisé. Je sais très bien qu'il suffit d'éditer une ligne dans httpd.conf pour mettre les extensions qu'on veut


Sur Debian par defaut c'est comme ça. (encore une fois je dis pas que c'est bien)
 
 
J'avais juste fait cette remarque car tu sous-entendais que l'interpreteur php ne fonctionnait qu'avec des .php ... mais bon c'est pas la fin du monde non plus ....  ;)  
 
 


---------------
- Annuaire  PHOTOGRAPHIE sur Tagbox.fr -
Reply

Marsh Posté le 28-05-2005 à 01:16:23    

sonikbuzz a écrit :

La plus part des cas ou les serveurs free ?


http://orolam.online.fr/hfr/test.html
 
Si tu fais source, tu vois bien mon code PHP non ?
Si oui, ça veut bien dire que les HTML ne sont pas interprété.
 
Au contraire de  
http://orolam.online.fr/hfr/test.php
 
ça a toujours été le cas sur tous mes hébergements mutualisés (3) et mon serveur didié sous Debian/Apache n'envoie pas non plus les html à l'interpréteur php par défaut. Et je n'ai pas touché à cette partie là puisque ça fonctionnait comme je le souhaitais.
Heureusement, imagine un mutualisé qui héberge 3000 sites persos en HTML et imagine que chaque page minable et lourde (genre faites avec Word) passe au parsing PHP, je te raconte pas la perte de puissante inutile.


Message édité par The-Shadow le 28-05-2005 à 01:31:01
Reply

Marsh Posté le 28-05-2005 à 10:49:58    

sonikbuzz a écrit :

j'ai donné html en exemple, je dit pas que c'est bien ou pas, je dis que c'est possible.
Les .inc c'est quand meme courant  comme extension de fichier contenant du php. non ?
Aprés c'est une histoire d'organisation...


Justement non, pour les .inc. Faut faire gaffe à ça. Parce qu'un jour tu mets tes fichiers sur un serveur où .inc n'est pas reconnue, bonjour la cata... Ca fonctionnera toujours pour un require(), mais si quelqu'un demande le fichier, il sera pas parsé et il obtiendra le code source [:johneh] Du coup, vaut mieux être prévoyant et tout mettre en .php. C'est pour ça qu'on voit à la place des pouet.inc.php ou des pouet.class.php pour justement éviter ce genre de désagréments :)

Reply

Marsh Posté le 28-05-2005 à 14:45:13    

+1 avec FlorentG, je l'avais déjà raconté quelqueparts sur HFR, au départ où j'ai commencé la programmation PHP/MySQL, j'avais un fichier qui s'appelait connectbase.inc et un jour, j'ai tapé son nom dans l'URL. Et voilà quoi, je vous laisse comprendre la suite.
les fichiers à l'extension inc, c'est pas plutot pour le C qu'on en voit pas mal ?

Reply

Marsh Posté le 28-05-2005 à 23:28:21    

FlorentG a écrit :

Ca fonctionnera toujours pour un require(), mais si quelqu'un demande le fichier, il sera pas parsé et il obtiendra le code source [:johneh] Du coup, vaut mieux être prévoyant et tout mettre en .php. C'est pour ça qu'on voit à la place des pouet.inc.php ou des pouet.class.php pour justement éviter ce genre de désagréments :)


Oui enfin bon, en général les require() ils sont placés derriere le document_root...
 

The-Shadow a écrit :


 et mon serveur didié sous Debian/Apache n'envoie pas non plus les html à l'interpréteur php par défaut. Et je n'ai pas touché à cette partie là puisque ça fonctionnait comme je le souhaitais.


Ben moi sur mon dedié (Debian/Apache) aprés un apt-get install  c'est comme ca.
Sur WAMP5 (pas pour de la production ok) c'est aussi la cas.
 

The-Shadow a écrit :


imagine un mutualisé qui héberge 3000 sites persos en HTML et imagine que chaque page minable et lourde (genre faites avec Word) passe au parsing PHP, je te raconte pas la perte de puissante inutile.


C'est vrai j'avais pas pensé à ca, as tu une idée de la chute de perf ?
Bon dans mon cas ca change rien toutes mes pages .php .html sont plus ou moins dynamiques et je ne compte pas revenir sur du mutualisé.
 


---------------
- Annuaire  PHOTOGRAPHIE sur Tagbox.fr -
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed