Include PHP et Classes - PHP - Programmation
Marsh Posté le 22-05-2005 à 17:09:57
Désolé, je viens de comprendre, mon fichier appelant doit porter l'extension "php".
Sinks.
Marsh Posté le 22-05-2005 à 17:19:08
ReplyMarsh 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 ?
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.
à+.
Marsh Posté le 22-05-2005 à 18:58:20
Beral2 a écrit : |
Non du moment que ton include() est entre <?php ?> ca marche .
[petit conseil]
évite d'utiliser <? écrit ca plutot <?php
[/petit conseil]
Marsh Posté le 22-05-2005 à 21:37:43
[Acquiescement]
D'accord, j'essaie dès que j'ai le temps
[/Acquiescement]
Merci.
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.
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
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...
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'); |
Alors que readfile balance le truc direct
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 <? ).
à+.
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 :
|
Je plusoie, même si je ne connaissais pas ce truc avant que tu me l'apprennes.
http://raditha.com/wiki/Readfile_vs_include (en Anglais)
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.
Marsh Posté le 23-05-2005 à 19:42:38
excellent les gars
Je faisais tjs des include sur les html
Merci pour l'astuce
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.
Marsh Posté le 23-05-2005 à 20:59:29
Les hébergeurs gratuits c'est naze de tout manière Faut vraiment être le dernier des crevards et le dernier des rats pour pas vouloir taxer 30 par an pour un vrai site
Marsh Posté le 23-05-2005 à 21:09:33
FlorentG a écrit : Les hébergeurs gratuits c'est naze de tout manière Faut vraiment être le dernier des crevards et le dernier des rats pour pas vouloir taxer 30 par an pour un vrai site |
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.
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é
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...).
Marsh Posté le 24-05-2005 à 09:05:59
Chez free c'est lent
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 ).
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 |
re - NON !!
L'interpréteur PHP il s'en fout pas mal de l'extension php
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
Marsh Posté le 27-05-2005 à 19:03:17
sonikbuzz a écrit : re - NON !! |
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
Marsh Posté le 27-05-2005 à 19:12:15
sonikbuzz a écrit : re - NON !! |
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.
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 : |
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 ....
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.
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. |
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 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
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 ?
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 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 : |
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 : |
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é.
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.