0

特定の形式のテキスト ファイルにデータを保存しようとしています。

コードは次のとおりです。

<?php
header ('Location: http://myshoppingsite.com/ ');
$handle = fopen("userswhobought.txt", "a");
foreach($_POST as $variable => $value) {
    fwrite($handle, $variable);
    fwrite($handle, "=");
    fwrite($handle, $value);
    fwrite($handle, "\r\n");
}
fwrite($handle, "===============\r\n");
fclose($handle);
exit;
?>

したがって、前の HTML ページで、名前と場所の 2 つの値を入力すると、上記の php コードによって、入力した情報が取得され、userswhobought.txt に保存されます。

現時点での保存方法は次のとおりです。

Username=John
Location=UK
commit=
===============

しかし、私は単にこのように保存したいのです

John:UK
===============
Nextuser:USA
==============
Lee:Ukraine

だから抽出しやすい。

ありがとう

4

6 に答える 6

0

元のコードを取る

<?php
header ('Location: http://myshoppingsite.com/ ');
$handle = fopen("userswhobought.txt", "a");
foreach($_POST as $variable => $value) {
    fwrite($handle, $variable);
    fwrite($handle, "=");
    fwrite($handle, $value);
    fwrite($handle, "\r\n");
}
fwrite($handle, "===============\r\n");
fclose($handle);
exit;
?>

そしてに変更

<?php
$datastring = $_POST['Username'].":".$_POST['Location']."
===============\r\n";
file_put_contents("userswhobought.txt",$datastring,FILE_APPEND);
header ('Location: http://myshoppingsite.com/ ');
exit;
?>

POSTデータを直接操作する必要があるデータをループする代わりに、$_POST好きなように使用できますが、mysql、postgres、またはsqliteなどのデータベースオプションを調べることをお勧めします-mongodbのようなnosqlオプションにデータを保存することもできます同じように。

于 2013-03-12T01:36:26.053 に答える
0

foreach の代わりに$_POST['Username'].":".$_POST['Location']."\r\n"、ファイルに追加するだけです。

于 2013-03-12T01:31:23.907 に答える
0

fwrite($handle, "===============\r\n");ループ内に配置するだけです。

于 2013-03-12T01:35:23.527 に答える
0
<?php
    header ('Location: http://myshoppingsite.com/ ');
    $handle = fopen("userswhobought.txt", "a");
    fwrite($handle, $_POST['Username']);
    fwrite($handle, ":");
    fwrite($handle, $_POST['Location']);
    fwrite($handle, "===============\r\n");
    fclose($handle);
    exit;
?>
于 2013-03-12T01:29:47.930 に答える
0
<?php
header ('Location: http://myshoppingsite.com/ ');
$handle = fopen("userswhobought.txt", "a");
foreach($_POST as $variable => $value) {
fwrite($handle, $variable);
fwrite($handle, ":");
fwrite($handle, $value);
fwrite($handle, "===============\r\n");
}

fclose($handle);
exit;
?>
于 2013-03-12T01:29:51.677 に答える
0
foreach($_POST as $variable => $value) {
    $write_this = "$variable:$value\r\n"
    fwrite($handle, $write_this );
}
fwrite($handle, "===============\r\n");

さらに、header() 呼び出しを終了の直前に移動することをお勧めします。技術的には、それは機能しますが、ほとんどの人が行うことではありません。

于 2013-03-12T01:30:17.870 に答える