Conversion projet PHP en HTML

Convertir tout mes .php en .html

Le problème exposé dans ce sujet a été résolu.

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.)

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.

+1 -0

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);
}

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) :)

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

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