2016-06-19 8 views
1

こんにちは、私はPHPに新しいです。私は登録フォームを持っていて、私は各ユーザーを一度に1行ずつファイルに書き込もうとしています。これは私が持っているものですが何らかの理由でうまく機能しません。私は窓を使用しています。前もって感謝します。一度に1行にファイルを書き込むPHP

$outputstring = $fname. "\t". $lname. "\t". $email. "\t". $address. "\t". $phone. "\t". $login. "\n"; 

@ $fp = fopen("orders.txt", 'ab'); 

flock($fp, LOCK_EX); 

if(!$fp) 
{ 
    echo "<h1>Registrtion failed</h1></body></html>"; 
    exit; 
} 

fwrite($fp, $outputstring, strlen($outputstring). "\n"); 
flock($fp, LOCK_UN); 
fclose($fp); 
+0

私はモードに 'b'オプションがあるとは思わないので、' fopen( "orders.txt"、 'a'); 'で十分です。ファイルは書き込み可能ですか? –

+0

imo、まず、 '@ $ fp = fopen(" ... ' - すべてのエラー、警告、通知を見たい場合は、それらを修正します:)次に、ファイルに追加します。 [OK]をクリックします。存在しない場合はどうなりますか? 'fopen append'の前に存在するファイルのテストを行い、存在しない場合はファイルを作成します。 –

+0

また、 'fwrite($ fp、$ outputstring、strlen($ outputstring)。" \ n ");'は意味を成さない;それはfwriteでなければなりません($ fp、$ outputstring "\ n"); '(3番目のパラメータはオプションで、\ n" '改行はその長さではなくデータに付加する必要があります)。 –

答えて

0

あなたの文章をEOLで爆発させてから、トリックを実行します。

foreach(explode(PHP_EOL, $paragraph) as $sentence) 
    if(!fwrite($handle , $sentence)) die('error writing'); 
関連する問題