1

ウェブサイトのいくつかのデータのストレージ/データベースとしてテキスト ファイルを使用していました。指定されたホルダーまたは要素に各コンテンツを表示することで、Web ページに正常に出力しましたが、何らかの方法で別の方法でカスタマイズして、ニーズに応えたいと考えています。

テキストファイルの内容を表示し、用途に応じて配置するためのこのコードがあります。

<?php
$handle = @fopen("mydb.txt", "r");

while (!feof($handle)) // Loop til end of file.
    {
    $buffer = fgets($handle, 4096);
    // Read a line.
    list($a,$b,$c)=explode("|",$buffer);
    //Separate string by the means of |
}
$aa = $a;
$bb = $b;
$cc = $c;
?>


<div id="tabs-1">
    <form id="dbform" action="processor.php" method="GET" >
        <input type="hidden" name="login" value="emailsave" />
        <div id="error"></div>
        <table cellpadding="3" cellspacing="3" align="center" valign="top">
            <tr>
                <td valign="top">
                    <label>Senders email:</label>
                </td>
                <td>
                    <input class="dainput" type="text" name="mailsenders" value="<?php echo $aa;?>" />
                </td>
            </tr>
            <tr>
                <td valign="top">
                    <label>Subject:</label>
                </td>
                <td>
                    <input class="dainput" type="text" name="mailsubject" value="<?php echo $bb;?>" />
                </td>
            </tr>
            <tr>
                <td valign="top">
                    <label>Message:</label>
                </td>
                <td>
                    <textarea style="height: 150px;" class="dainput" type="text" name="mailmsg" ><?php echo $cc;?></textarea>
                </td>
            </tr>
        </table>
        <button class="dabutton">Update</button>
    </form>
</div>

編集:

しかし、「|」の代わりに区切り文字として改行 (\n) を使用したい とにかくそれを達成することはありますか?

したがって、テキストファイルの内容は次のようになります

your-email@mail.com
Subscriber
hello

これの代わりに

your-email@mail.com | Subscriber | hello

私はどんな提案、推奨事項、アイデアにもオープンです。私を導いてください。ありがとう!

4

1 に答える 1

0

fgetsを使用する

$handle = @fopen(FILE)
$lines = array();
while (false != ($line = fgets($handle)) {
    $lines[] = $line;
}

これにより、ファイル全体が読み取られ、各行が$lines. 回線が 3 つしかない場合は、fgets3 回呼び出します。

于 2013-07-27T17:29:44.917 に答える