1

私は次のphpファイルを持っています。これはいくつかのフォーム値を取り、テキストファイルに書き込み、見​​やすいフォーマットを作成します。

$filename = "blah.txt"; #Must CHMOD to 666, set folder to 777
$text = "\n" . str_pad($fname, 30) . "" . str_pad($lname, 30) . "" . str_pad($tdate, 20) . "" . str_pad($ydept, 30) . "" . str_pad($percentage, 0) . "%";

$fp = fopen ($filename, "a"); # a = append to the file. w = write to the file (create new if doesn't exist)
if ($fp) {
    fwrite ($fp, $text);
    fclose ($fp);
    #echo ("File written");
}
else {
    #echo ("File was not written");
}

すでに作成されているテキストファイルには、次のような事前フォーマットがあります。

                        @@@@@@ CLINICAL EXAM @@@@@@

First Name                    Last Name                     Date Taken          Department                    Percentage
==========                    =========                     ==========          ==========                    ==========

そして、新しいレコードが書き込まれると、次のようになります。

                        @@@@@@ CLINICAL EXAM @@@@@@

First Name                    Last Name                     Date Taken          Department                    Percentage
==========                    =========                     ==========          ==========                    ==========

Lolll                         Pelol                         02/13/13            Nursing                       92%
Catger                        Powhytr                       02/13/13            Nursing                       92%

新しいユーザーが試験を受けると、既存のファイルに追加され続けます。ファイルを表示してフォーマットを保持するためにユーザー名/パスワードが必要になるように認証を設定したいと思います。include();を使用して設定できる認証。テキストファイルを読み取るphpファイルの上にあるメソッド。私はファイルを読み取る次のコードの何かを持っています:

 <?php
    $filename = "blah.txt";
    $file = $filename;
    $contents = file($file); 
    $string = implode("<br>", $contents); 
    echo "<pre>" . $string . "</pre>";
    echo "<br></br>";
?>

これにより、次のように表示されます。

@@@@@@ CLINICAL EXAM @@@@@@ 

First Name Last Name Date Taken Department Percentage 
========== ========= ========== ========== ========== 

Lilll Pelol 02/13/13 Nursing 92% 
Catger Powhytr 02/13/13 Nursing 92%

私がやりたいのは、保存した形式を表示して、ユーザーが読めるようにすることです。どうすればこれを達成できますか?Web上にテキストファイルを保持すると誰でも表示できるようになり、セキュリティ上の問題になるため、私はそれを実行しようとしています。

4

1 に答える 1

3

ファイルをブラウザに出力する場合は<pre>...</pre>、ファイルの内容の前後(またはの要素font-family:monospace; white-space:pre)を使用する必要があります。そうしないと、スペースが折りたたまれます。

元のコードで. "" .は、何も実行されていないため、削除できることに注意してください。.

str_padまた、すべての呼び出しの代わりにこれを提案します:

$text = sprintf("\n%-30s%-30s%-20s%-30s%s%%",$fname,$lname,$tdate$ydept,$percentage);
于 2013-03-06T15:20:56.343 に答える