0

わかりましたので、テキストに書き込むように設定しましたが、実際にはtxtをファイルに書き込みません。ファイルを削除してから、内部のデータを使用してファイルを再度作成します。

$_POST['IP']=$ip;
unlink('boot_ip.txt');
$fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/boot/boot_ip.txt","wb");
fwrite($fp,$IP) ;   
fclose($fp);
4

2 に答える 2

1

変数が正しく設定されておらず、逆に行われました。

簡単な注意:wbバイナリを書き込むことを意味します。それがあなたの意図でない限り、 のみを使用することをお勧めしますw

で終わるファイル名.txtはテキストなので、wスイッチを使用してください。これにより、以前のコンテンツが上書きされます。

持っていた:

$_POST['IP']=$ip;
unlink('boot_ip.txt');
$fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/boot/boot_ip.txt","wb");
fwrite($fp,$IP);   
fclose($fp);

これ =>$_POST['IP']=$ip;あるべき場所$ip=$_POST['IP'];

そして、これfwrite($fp,$IP);はあるべきですfwrite($fp,$ip);

$IP変数で宣言したように、小文字にする必要があるときに大文字でした。

:unlinkコードの一部は、サーバー上のフォルダーの場所を反映する必要がある場合があります。

unlinkただし、使用するとすぐにエラーがスローされるため、使用しないことをお勧めします。ファイルは既にリンク解除されているため、最初は見つからない可能性があるためです。

使用しないか、ifステートメントを使用することができます。以下のコードに続く私の例を参照してください。

さらに、wスイッチを使用すると、以前に書き込まれたコンテンツが自動的に上書きされます。

ファイルに追加/追加する必要がある場合は、aまたはa+スイッチを使用する必要があります。

その場合は、次を使用する必要があります。

$fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/boot/boot_ip.txt","a");
fwrite($fp,$ip . "\n");

再フォーマット済み(テスト済み、動作中)

$ip=$_POST['IP'];
unlink('boot_ip.txt');
// use the one below here
// unlink($_SERVER['DOCUMENT_ROOT'] . "/boot/boot_ip.txt");
$fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/boot/boot_ip.txt","wb");
fwrite($fp,$ip);   
fclose($fp);

次のフォームを使用します。

<form action="handler.php" method="post">

<input type="text" name="IP">

<input type="submit" value="Submit">

</form>

ifステートメント メソッドを使用します。

$ip=$_POST['IP'];
    if(!file_exists($_SERVER['DOCUMENT_ROOT'] . "/boot/boot_ip.txt")) {

$fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/boot/boot_ip.txt","wb");
fwrite($fp,$ip);   
fclose($fp);
}
于 2013-09-02T13:23:16.560 に答える