http://webtech.seesaa.net/article/94979061.html
1.あらかじめサーバ内にファイルが作られる場所を確保する。
2.クライアントに見てもらいたいファイル、つまり行いたい処理が書かれたPHP(仮にhoge.php)を作る。
3.ボタンを押すとファイルが作られる処理を書くPHP(仮にcallhoge.php)を作る。
4.ボタンをぽちっと押す。
5.スクリプト処理が終わったhtmlが作られる。
こんな感じです。
1.のディレクトリは書き込み権限を許可しておかないと怒られます。
hoge.phpの内容は当然その時それぞれ人によって違うので、ここではcallhoge.phpのソースをのせます。
<?php//POSTされた値を受け取る
$create = htmlspecialchars($_POST['create'],ENT_QUOTES);
//生成場所
$savepath = "/var/www/html/dirhoge/";
//POSTされたか否か
$hantei = 0;
if(($create != null) and ($create != ""))
{
$hantei = 1;
}
//POSTされたら
if($hantei == 1)
{
//****** hoge.html作成 ******
$filename = "hoge.html";
$html_tmp = "";
$html = "";
//出力をバッファリング開始
ob_start();
//処理したいファイルをインクルードする
require('./hoge.php');
$html_tmp = ob_get_contents();
$html = str_replace("\r","",$html_tmp);
//保存処理
if(!($fd = fopen($savepath . $filename,"w"))){die($filename . " 書き込みオープン失敗");}
if(!($rslt = fwrite($fd,$html))){die("書き込み失敗");}
fclose($fd);
// バッファリング終了&破棄
ob_clean();
echo '<div style="padding-top:10px;"><a href="hoge.html">hoge.html</a>を作成しました。</div><br>';
//******************************
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<title>html生成</title>
</head>
<body>
<?php//POST前
if($hantei == 0)
{
?>
<form name="form1" method="post" action="">
<input type="submit" name="create" value="静的html作成">
</form>
<?php}
//POST後
else
{
?>
<form name="form2" method="post" action="">
<input type="submit" name="back" value="戻る">
</form>
<?php}
?>
</body>
</html>
PHP では インクルードされた http://test.homealive.co.jp/index.php
前は HTMLで インクルードされてる自体が特殊なのか・・・