ホームページ >バックエンド開発 >PHPチュートリアル >Smarty を使用した静的ファイルの生成に関連する問題
Smarty を使用して静态文書の问题?
require( "../inc/fuction.php ");
require( "../inc/inc.php ");
require( "../inc/db.php ");
require ( "../Smarty/Smarty.class.php ");
$id=$_GET[ 'id '];
if(isset($id)&&is_numeric($id))
{
$db=new F2MysqlClass($dbhost, $dbuser, $dbpw, $dbname);
$sql= "select * from news where id= '$id ' ";
$result=$db-> fetchArray($db->query($sql));
$tmp=new スマート;
$tmp-> template_dir = "../smarty/templates/templates ";
$tmp->コンパイル_ディレクトリ = "../smarty/templates/templates_c ";
$tmp-> config_dir = "../smarty/templates/config ";
$tmp-> cache_dir = "../smarty/templates/cache ";
if(!empty($result))
{
$tmp-> assign(array(
"title ",htmlspecialchars($result[ "title "]),
"名前 ",$result[ "author "]));
}
$tmp->表示( 'index.tpl ');
$this_my_f= ob_get_contents(); //此处关键
ob_end_clean();
$filename = "$id.html ";
if(tohtmlfile_cjjer($filename,$this_my_f))
echo " 生成成功 $filename ";
else
echo "生成识别 ";
}
//生成文ファイルの処理写出関数
function tohtmlfile_cjjer($file_cjjer_name,$file_cjjer_content)
{
if (is_file ($file_cjjer_name)) {
@unlink ($file_cjjer_name);
}
$cjjer_handle = fopen ($file_cjjer_name, "w ");
if (!is_writable ($file_cjjer_name)){
return false;
}
if (!fwrite ($cjjer_handle,$file_cjjer_content)){
return false;
}
fclose ($cjjer_handle); //关闭指针
return $file_cjjer_name;
}
ファイルを生成できます。ただし、生成されたファイルの場所に表示されるマークはすべて空白です。
----- -解决方案-------------------
怀疑赋值有问题