ホームページ >バックエンド開発 >PHPチュートリアル >PHPはHTMLファイルを生成します

PHPはHTMLファイルを生成します

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-07-29 09:02:491046ブラウズ

ファイル関数のほとんどは以前に触れたことがあります。重要なものをいくつか挙げます:

resourcefopen(string$filename ,文字列$mode[,bool$use_include_path= false[,リソース$context]] ) // ファイルを開くと、読み取り専用、書き込み専用、読み取り/書き込みモードがあります

int filesize(string) $ファイル名) // ファイルのサイズを取得します

intfwrite(resource$handle) ,文字列 $string[,int$length] ) // ファイルを書き込みます

stringfread(resource$handle int $長さ) // ファイルを読み取り、バイナリ ファイルを読み取ることができます

boolunlink(string$ファイル名[, リソース$context] ) // ファイルを削除します

さらに詳細な内容: http://php.net/


単純なタイプ:

<?php
$in="tt.txt";
$fp=fopen($in,"r");
$get=fread($fp,filesize($in));
$fp=fopen("out.htm","w");
fwrite($fp,$get);
fclose($fp);
?>

ループして複数のファイルを生成し、3 つの txt ファイルを使用して 3 つの htm ファイルを生成します (同等の変換へ):

発生した問題:

警告: fopen(michael jordan——Killer.htm): ストリームを開けませんでした: 無効な引数

エンコーディングの問題、生成されたファイルは確かに成功しましたが、ファイル名が文字化けしているため、パスが存在しないという結果が返されます。英語に変更するだけです。

<?php
$txtArray=array(array("t1.txt","fly.htm"),array("t2.txt","killer.htm"),
array("t3.txt","chamption.htm"));
foreach ($txtArray as $id=>$value){
    $filename=$value[0];
    $title=$value[1];
    $fp=fopen($filename,"r");
    $get=fread($fp,filesize($filename));
    $fp=fopen($title,"w");
    fwrite($fp,$get);
    unlink($filename); //删除源文件
}
fclose($fp);
?>

htm ファイルに中国語の名前を付けたい場合は、php ファイルのエンコーディングを ASCII コードに設定できます:

<?php
$txtArray=array(array("t1.txt","michael jordan——飞翔.htm"),array("t2.txt","michael jordan——杀手.htm"),
array("t3.txt","michael jordan——首冠.htm"));
foreach ($txtArray as $id=>$value){
    $filename=$value[0];
    $title=$value[1];
    $fp=fopen($filename,"r");
    $get=fread($fp,filesize($filename));
    $fp=fopen($title,"w");
    fwrite($fp,$get);
    //unlink($filename); //删除源文件
}
fclose($fp);
?>


PHP 生成HTML文件

以上、PHP で HTML ファイルを生成する方法を内容も含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。