Salut tout le monde
Je suis débutant dans le developpement. Et je me permet donc de vous demander de l'aide.
Voila je dois créer une page en php qui à pour but de génerer une page en html. Avec les informations suivantes :
Nom de la page. Titre de la page. Et du contenu.
Jusqu'a la tout ce passe bien. La page en php crée bien la page en html. Mais je souhaite rajouter l'option ajouter une image.
J'espere que vous avez compris ma demande. Merci d'avance en tout cas. Voici mon code.

Voici ma page create.php

<?php

define('HTML_TEMPLATE', 'default.tmpl');

if (!file_exists(HTML_TEMPLATE))
    die( HTML_TEMPLATE . ' est manquant');

if (isset($_REQUEST['save'])) {
    $inputs = filter_input_array(INPUT_POST, array(
        'page_name' => FILTER_SANITIZE_ENCODED,
        'page_title' => FILTER_SANITIZE_ENCODED,
        'page_content' => FILTER_UNSAFE_RAW,
    ));

    $buffer = file_get_contents(HTML_TEMPLATE);
    $buffer = str_replace(array('%title%', '%content%'), array($inputs['page_title'], $inputs['page_content']), $buffer);
    if (file_put_contents($path = "pages/{$inputs['page_name']}.html", $buffer))
        die('Fichier Créé: '. realpath($path));
    else
        die('Impossible de créer: ' . realpath($path));
}

?>
<form method="post">
    <label for="page_name">Nom de la page</label><input type="text" name="page_name" id="page_name" />
    <label for="page_title">Titre de la page</label><input type="text" name="page_title" id="page_title" />
    <label for="page_content">Contenu</label><textarea name="page_content" id="page_content"></textarea>
    <input type="submit" name="save" value="Creer" />
    <input type="reset" value="Reinitialiser" />
</form>

Et voici la page default.tmpl

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <title>%title%</title>
    </head>
    <body>
    %content%
    </body>
</html>

Merci bien

3 réponses


Benjamin Derepas
Réponse acceptée

Il te faut ajouter à ton formulaire un champs image , et l'uploader via ton script php.
Voilà de quoi lire : move_uploaded_file

SwithFr
Réponse acceptée

En oubliant pas de preciser enctype=multipart/form-data dans les attributs du form sinon tu n'auras pas de $_FILES

stykk
Auteur

Merci les gars. Je vais suivre vos conseils