creare una pagina html dimanicamente con php

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
Ragazzi è possibile creare dinamicamente una pagina html con php?
se è possibile conoscete qualche risorsa o tutorial in merito?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
come scrivere in un file di testo, cambia solo l'estensione
PHP:
<?php

$file = "pagina.html";

$codice = "
<html>
<head><title>Prova</title></head>
<boby></body>
</html>
";

$fo = fopen($file, "w");
fwrite($fo, $codice);
fclose($fo);
?>
 

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
Grazie mille per la risposta ma non succede nulla.
Nel senso che non appare neanche la scritta vediamo e se inserisco un semplice div mi da errore
Ho inserito questo codice nel file php

PHP:
<?php

$file = "pagina.html";
$codice = "
<html>
<head>
<title>Prova</title></head>
<boby>
vediamo
</body>
</html>

";
$fo = fopen($file, "w");
fwrite($fo, $codice);
fclose($fo);

?>
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
allora non ho capito
il codice che ho postato crea un file html di nome pagina nella stessa cartella dove viene eseguito
 

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
si funziona hai ragione tu ma quindi quando al link mando a prova.php crea la pagina nella stessa directory online?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
si
se vuoi crearlo da un altra parte cambi il percorso
PHP:
$file = "cartella/pagina.html";
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
tutto è possibile
PHP:
<?php
if (isset($_POST["crea"])) {
    $file = "pagina.html";

    $codice = "
<html>
<head><title>Prova</titile></head>
<boby></body>
</html>
";

    $fo = fopen($file, "w");
    fwrite($fo, $codice);
    fclose($fo);
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
    <input type="submit" name="crea" value="Crea Pagina"/>
</form>
 

chsoftwares

Nuovo Utente
25 Set 2015
2
0
0
tutto è possibile
PHP:
<?php
if (isset($_POST["crea"])) {
    $file = "pagina.html";

    $codice = "
<html>
<head><title>Prova</titile></head>
<boby></body>
</html>
";

    $fo = fopen($file, "w");
    fwrite($fo, $codice);
    fclose($fo);
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
    <input type="submit" name="crea" value="Crea Pagina"/>
</form>

Io ho provato però mi da un errore altervista che è: La pagina http://miosito.altervista.org/%3C?php%20echo%20$_SERVER[%27PHP_SELF%27]%20?%3E non è presente.

Come mai? dove sbaglio? eppure ho inserito il codice in questo modo

HTML:
<?php 
if (isset($_POST["crea"])) { 
    $file = "pagina.html"; 
    $codice = " 
<html> 
<head><title>Prova</titile></head> 
<boby></body> 
</html> 
"; 
    $fo = fopen($file, "w"); 
    fwrite($fo, $codice); 
    fclose($fo); 
} 
?> 

<html>
<head>

  <title></title>
</head>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>"> 
    <input type="submit" name="crea" value="Crea Pagina"/> 
</form>
</body>
</html>
 

MarcoGrazia

Utente Attivo
15 Dic 2009
788
16
18
59
Udine
www.stilisticamente.com
Puoi anche fare qualche cosa di più creativo :) per esempio evitare di usare un form per la creazione della pagina:
PHP:
<?php 
if ( isset( $_GET['crea'] ) && $_GET['crea'] == 'yes' ) { 
    $codice =<<<PAGINAHTML 
<html> 
<head><title>Prova</titile></head> 
<boby>
  <h1>Pagina di prova</h1>
</body> 
</html> 
PAGINAHTML; 

    $fo = fopen( 'pagina.html', "w" ); 
    fwrite( $fo, $codice ); 
    fclose( $fo ); 
} 
?><html>
<head>

  <title></title>
</head>
<body>
    <input type="button" name="crea" value="Crea Pagina" onclick="location.assign( 'http://tuo_url/<?php echo $_SERVER['PHP_SELF']; ?>?crea=yes' )">
</body>
</html>

Per non parlare di non usare un brutto bottone standard ( che comunque puoi modificare tramite css ) ma un comodo link, sostituendo l'input con l'ancora, così:
HTML:
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?crea=yes">Crea la pagina</a>

Alla fine quel che fai è creare una chiamata tramite GET in cui passi un valore attraverso la coppia crea = yes, se questa c'è crea il file, salvandolo poi nel disco.
Ovviamente non ci sono dati passati oltre al crea=yes, via GET si possono passare solo 256 caratteri meno la lunghezza dell'url completo, insomma va bene per queste cose ma se devi passare informazioni da mettere nel tuo file html, allora torni al form e invii tramite POST.
Ho usato l'heredoc per creare il file perché ti da più possibilità, per esempio non avrai i soliti problemi di escape ( la barretta rovescia ) da mettere davanti agli apici, singoli o doppi, creando il file html.
Dubito che ti basta l'esempietto :)
 
Discussioni simili
Autore Titolo Forum Risposte Data
L Creare una pagina pre-home WordPress 1
T con oop creare un ciclo per una pagina dinamica html con php PHP 3
utente è possibile creare una pagina php che copia interamente il contenuto di un'altra pagina ? PHP 10
M come creare un popup con CSS da una pagina esterna? jQuery 1
deejayr Creare un link URL ad un pulsante di una pagina web. Javascript 4
Gabriele Visioli Come creare uno spoiler in una pagina o post WordPress 1
S PHP: creare un link in una pagina PHP 7
T vBulletin 3.8.x E' possibile creare una nuova pagina in PHP nel forum? VBulletin 0
R creare una pagina su sito web HTML e CSS 2
denisgligor ciao, vorrei creare una pagina personale per ogni utente con un dominio di terzo livello... si può ? PHP 0
M Creare una pagina di modifica database. PHP 1
I come posso creare una pagina di inserimento con selezione di mensilità? PHP 1
Web Designer Come creare una pagina statica su Blogger Content Management System (CMS) 0
U Creare una pagina di login PHP 3
U creare una playlist audio e riprodurla in una pagina Classic ASP 1
S Come creare un campo di testo e un pulsante che linka ad una pagina? Content Management System (CMS) 3
H Creare una pagina che si collega a keepvid. come impostare il form? HTML e CSS 3
B creare una pagina personalizzabile Javascript 2
max1850 Creare una pagina delle news e uploadare i files Classic ASP 2
G in flash è possibile creare una finestra che visualizza una pagina html? Flash 0
M Creare una pagina che si ingrandisce PHP 1
O Aiuto non riesco a creare una pagina di logout Flash 2
L creare o modificare una .GIF da mettere su una pagina HtmL HTML e CSS 5
A creare una pagina per il "Registrati" PHP 13
L Creare una forma geometrica Photoshop 1
W Creare link di una dato Classic ASP 0
MarcoGrazia Creare una password Snippet Javascript 0
L creare oggetti da una classe tramite un form Javascript 0
R Bootstrap 4 - creare una finestra di testo responsive sopra un Carousel jQuery 1
M [MySQL] CREARE UN LINK SU UN DETERMINATO CAMPO DI UNA TABELLA RISULTATO DI UNA QUERY SQL MySQL 3
V [WordPress] Creare una struttura di articoli da una struttura di cartelle WordPress 1
jonnino2004 Sito .it vale la pena creare una versione in inglese? SEO e Posizionamento 1
S [WordPress] Creare una select box con partita iva e codice fiscale in base a una logica. WordPress 0
Axis18 Creare una barra di avanzamento con $.ajax Ajax 7
B funzioni per creare file e inserirli dentro una certa cartella in php? PHP 1
L [php e xml] per creare una galleria fotografica con diversi file xml PHP 0
P [PHP] come creare una chat PHP 24
S creare una tabella da codice PHP 4
A Creare una fattura con dati di intestazione estratti da tabella MySQL 0
P [CERCO] esperto per creare una chat room seria Offerte e Richieste di Lavoro e/o Collaborazione 1
M creare una tabella dove inserire i dati del database Database 1
N Creare una web community Discussioni Varie 6
F mysqli creare una select con valori dal db PHP 4
R Creare una classifica con Access 2007 Database 1
G Creare una forma irregolare colorata e poi modellarla con photoshop. Photoshop 7
M Access-Query per creare una tabella con la data nel nome tabella MS Access 0
felino [CSS] Immagine, creare una striscia nell'angolo superiore della foto HTML e CSS 10
A Creare una classe espressione Java 1
R Creare una videochat a pagamento Offerte e Richieste di Lavoro e/o Collaborazione 2
gaia creare una tabella dall'unione di due tabelle MySQL 3

Discussioni simili