Sto leggendo un capitolo che spiega come generare con xampp ed uno script in php una pagina statica da un database. Per generare l'index.html bisogna puntare ad un file generate.php con questo codice:
Codice PHP:
<?php
$srcurl = 'http://localhost/recentjokes/controller.php';
$tempfilename = $_SERVER['DOCUMENT_ROOT'] .
'/recentjokes/tempindex.html';
$targetfilename = $_SERVER['DOCUMENT_ROOT'] .
'/recentjokes/index.html';
if (file_exists($tempfilename))
{
unlink($tempfilename);
}
$html = file_get_contents($srcurl);
if (!$html)
{
$error = "Unable to load $srcurl. Static page update aborted!";
include $_SERVER['DOCUMENT_ROOT'] . '/includes/error.html.php';
exit();
}
if (!file_put_contents($tempfilename, $html))
{
$error = "Unable to write $tempfilename. Static page update aborted!";
include $_SERVER['DOCUMENT_ROOT'] . '/includes/error.html.php';
exit();
}
copy($tempfilename, $targetfilename);
unlink($tempfilename);
Il libro prosegue dicendo che su windows bisogna impostare un'operazione pianificata (su linux un cron) di un file chiamato generate.bat con dentro questo codice:
@C:\xampp\php\php.exe generate.php
Le domande sono davvero molte:
1) Perché se premo sul .bat il file .html non viene generato e devo puntare a generate.php con il browser perché lo script funzioni? Cosa devo scrivere dentro il .bat per far funzionare il tutto?
2) Come si imposta un'operazione pianificata su windows?
3) Perché il libro non scrive anche un ulteriore script in php che si occupa di avviare generate.php ad intervalli regolari? Come posso usufruire di questo sistema senza sapere come avviare un'operazione pianificata sul server reale su cui si trova il mio sito web?