ti preparo qualcosa dopo se riesco.
EDIT:
Codice PHP:
<?php
/**
* Non faccio nessun controllo sul valore della textarea.
* Presumo che contenga HTML quindi non elimino nessun tag e non aggiungo nessun
.
* Mi limito ad eliminare spazi superflui all'inizio e alla fine del valore di $_POST['textarea'].
*
* N.B. 'textarea' deve essere sostituito con il name della tua textarea. Ad esempio:
*
* <form method="POST" action="questaPagina.php">
* <label for="inputHTMLutente">Inserisci il tuo HTML</label>
* <textarea name="inputHTMLutente" id="inputHTMLutente" rows="40" cols="40"></textarea>
*
* <input type="submit" name="submit" id="submit" value="Invia" />
*
* </form>
*
* In questo caso $_POST['textarea'] viene sostituito con $_POST['inputHTMLutente'] poichè il nome della textarea nel form
* è inputHTMLutente.
*/
$testoTextarea = trim($_POST['textarea']);
/**
* Imposto il testo fisso da PHP.
* Non lo faccio da HTML perchè l'utente potrebbe cancellarlo.
*/
$testoFisso = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
$testoFisso .= '<html xmlns="http://www.w3.org/1999/xhtml">';
$testoFisso .= '<head>';
$testoFisso .= '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
$testoFisso .= '<title>Documento senza titolo</title>';
$testoFisso .= '</head>';
$testoFisso .= '<body>';
$testoFissoFooter = '</body>';
$testoFissoFooter .= '</html>';
/**
* Imposto il testo completo che dovrà essere inserito nel file.
*/
$testoCompleto = $testoFisso . $testoTextarea . $testoFissoFooter;
/**
* Apro il file in scrittura. Se non esiste tento di crearlo.
* N.B. Se il file tuoFile.html esiste già, il suo contenuto verrà sovrascritto
* Se non vuoi che accada, cambia 'w' in 'a'.
* In questo modo, il nuovo contenuto verrà aggiunto alla fine del file.
*/
$fp = fopen('tuoFile.html', 'w');
/**
* Questo metodo invece fa si che ogni volta che viene eseguito questo script, viene creato un nuovo file.
* Questo perchè la funzione time() genera un nuovo valore ogni secondo.
* Elimina questo commento se vuoi utilizzarlo e cancella la riga $fp = fopen('tuoFile.html', 'w');
*
* $fp = fopen(time() . '.html', 'w');
*/
//Se c'è un errore durante l'apertura/creazione, termino lo script con un messaggio di errore.
if(!$fp) {
die('Impossibile aprire il file.');
}
//Scrivo all'interno del file il testoFisso + il valore della textarea
if(fwrite($fp, $testoCompleto) === false) {
die('Impossibile scrivere sul file.');
}
//Questa riga puoi eliminarla se non vuoi che venga stampato questo messaggio.
echo 'Scrittura eseguita correttamente.';
//Chiudo il file
fclose($fp);
?>
Se non ti è chiaro qualcosa chiedi pure.
Non l'ho testato, quindi fammi sapere se ti da problemi.