2016-04-12 8 views
-1

私は現在働いていますが、私が望むのと同じように正しいコードを得ることはできません。現在、これは私のコードです:入力値をPHPでファイルに書き込む方法

$type = $_POST['type']; 
$size = $_POST['size']; 
$age = $_POST['age']; 
$gender = $_POST['gender']; 
$traits = $_POST['traits']; 
$comments = $_POST['comments']; 
$Name = $_POST['firstn']; 
$Email = $_POST['email']; 

// the name of the file you're writing to 
$myFile = "info.txt"; 

// opens the file for appending (file must already exist) 
$fh = fopen($myFile, 'a'); 

// Makes a CSV list of your post data 
$colon_delmited_list = implode(",", $_POST) . "\n"; 

// Write to the file 
fwrite($fh, $colon_delmited_list); 

// You're done 
fclose($fh); 

これは、テキストファイルに書き込み、その内容は次のように書かれている:

サークル、大、11、男性、スマート、非常に素晴らしい、カイル、カイル@ gmailの.com

私はこれらの値をすべてPHPページから取得しますが、ファイル内の値をカンマではなくコロンで区切りたいので、各エントリの番号が付けられているカウントも実装します。ここで

は一例です:

1:サークル:大:11:男:スマート:非常に素晴らしい:カイル:[email protected]

2:スクエア:小:14:女性:スマート:非常に素晴らしい:カイリー:[email protected]

+2

破でコロン変化コンマを – Ibu

+0

すごいああ:言われて、あなたが破行を変更しなければならないこと

私は最初に試したときに何かをぶち壊してしまったに違いありません! –

+0

ありがとうございました:)今私はちょうどカウンタを実装することに固執しています –

答えて

2

コード自体は、あなたがループを持っている場合、あなたがしたい、非常に簡単です:

$c = 1; // counter 

// inside the loop 
$colon_delmited_list = implode(": ", array_merge(array($c++), $_POST)) . "\n"; 

この行は、カウンターと、使用していた元の配列要素をコロン(およびスペース)で区切って構成された一時的な配列を作成します。それにはたくさんの方法がありますが、これは私が最も早く見つけたものです。

カウンターが動的(ファイルに常に追加されている)の場合は、まずcount the number of lines in the fileを1つ増やしてください。

+0

これはまさに私が探しているもののようです!しかしそれは私にエラーを与える –

+0

そのエラーはテキストを持っていますか? – Shomz

+0

"予期しない構文エラー、 '; " –

1

明らかに、implode()関数で使用されるglueパラメータを変更するだけです(詳細は、docを参照してください)。私は、しかし、今、私はそれを試してみました、それは動作しませんでした誓う何らかの理由で

$colon_delmited_list = implode(":", $_POST) . "\n"; 
関連する問題