0

送信されたフォームの結果を含む PHP 生成ページがあります。これを .doc ファイルとしてサーバーに保存したいと考えています。グーグルで調べた後、私が適応したこのコードに出くわしました:-

$myFile = "./dump/".$companyName."/testFile.doc";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "Bobby Bopper\n";
fwrite($fh, $stringData);
$stringData = "Tracy Tanner\n";
fwrite($fh, $stringData);
fclose($fh);

しかし、これの問題は、手動で結果をファイルに書き込むために結果を再作成する必要があり、あまり効率的ではないように思われることです。

だから私はグーグルを続け、率直に頭を悩ませたPHPマニュアルを見つけましたが、最終的にこれを見つけました:-

ob_start();
// code to generate page.
$out = ob_get_contents();
ob_end_clean();
// or write it to a file.
file_put_contents("./dump/".$companyName."/testFile.doc",$out);

ファイルを作成しますが、何も書き込みません。しかし、これは(PHPマニュアルに基づいて)私がそれを動作させることができなくてもやりたいことをする方法のようです!

何かアドバイス?まともな検索用語を見つけられるなら、グーグルで調べてもかまいません:)

4

1 に答える 1

1

これはあなたのためにそれをするはずです:

$cache = 'path/to/your/file';

ob_start();

// your content goes here...
echo "hello !"; // would put hello into your file

$page = ob_get_contents(); 

ob_end_clean(); 

$fd = fopen("$cache", "w"); 

    if ($fd) {

    fwrite($fd,$page); 

    fclose($fd);

}

また、動的ページをキャッシュする優れた方法でもあります。それが役に立てば幸い。

于 2011-07-27T14:59:42.627 に答える