Conversion projet PHP en HTML

Convertir tout mes .php en .html

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour :) ,

Je suis en train de créer un petit site, à rendre pour un examen, mais ils n'acceptent que des .html.

Le problème, c'est que j'ai un menu, et que j'ai pas vraiment envie de copier/coller le code sur chaque page (difficile à modifier, etc), donc j'ai cherché, et je suis tombé sur une personne qui conseillait d'utiliser un build system (le mot en français m'a échappé), sans donner de lien.

J'ai cherché, et je suis tombé sur phing, mais je n'arrive pas à m'en servir, et je ne suis même pas sûr que sa réponde à mes besoins.

Bien sûr, je pourrais copier/coller le code depuis mon navigateur, mais il faudrait le faire pour chaque page à chaque modification.

Des idées ?

Merci !

(Je n'utilise que des include();, pas de bdd, etc.)

It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail and learning to be self-critical? – Perlis

+0 -0

Le plus simple et rapide à mettre en place à mon avis, c'est de trouver un fichier qui est inclus dans toutes les pages (par exemple un fichier de configuration), puis d'y rajouter un ob_start() et exporter le contenu de la page avec fopen() et fwrite()dans la fonction de rappel. Ensuite il suffit que tu visites toutes les pages de ton site, et elles s'exportent automatiquement dans un dossier que tu auras spécifié. À mon avis, et sauf si ton site fait plusieurs dizaines de pages, c'est le plus rapide à faire.

Édité par Nyleor

+1 -0
Auteur du sujet

Il faut donc 2 inclusions (où au moins 2 morceaux de code):

  • ob_start() pour commencer, à mettre en haut du fichier ;
  • ob_get_flush() et le reste pour envoyer la sortie dans un fichier. Je créerai probablement une fonction dans le fichier inclus, à appeler à la fin du fichier.

Merci! :)

Édité par tleb

It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail and learning to be self-critical? – Perlis

+0 -0
Auteur du sujet

Parfait! Merci @elyppire933 ! :) C'est tellement plus simple.

Bon, j'étais en train de poster mes deux très petites fonctions que j'avais créé pour la méthode précédente, je vous les montrent, juste parce que j'adore le rendu du code sur ZdS. :)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<?php
function recordStart() {
    ob_start();
}

function recordStop() {
    $content = ob_get_flush();

    //gets the full adress, takes away 'le/chemin/qui/mene/au/projet/', and takes away '.php'
    $page_name =  str_ireplace('.php', '', str_replace('le/chemin/qui/mene/au/projet/', '', $_SERVER['SCRIPT_FILENAME']));

    $path = 'output/' . $page_name . '.html';
    file_put_contents($path, $content);
}

It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail and learning to be self-critical? – Perlis

+0 -0

T'as pas besoin de tout ca hein…

1
2
3
4
5
6
7
8
9
<?php

ob_start(function ($output) {
    file_put_contents($_SERVER['SCRIPT_FILENAME'] . '.html', $output);
});

// contenu

ob_end_flush();

Encore plus simple. Osef de faire 150 appels de fonctions (alors qu'un callback suffit), un remplacement inutile (on veut bien pouvoir déterminer où mettre le ficher, … etc) :)

"Meh." Outil de diff PHP : Totem

+0 -0
Auteur du sujet

Il faudrait que j'apprenne à mieux comprendre la documentation.

Merci. :)

It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail and learning to be self-critical? – Perlis

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte