如何使用php将输入值写入文件

时间:2016-04-12 22:30:12

标签: php file post fwrite

所以我目前正在工作,但是我无法获得正确的代码,使其完全按照我的意愿工作。目前这是我的代码:

$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);

这将写入文本文件,内容写为:

  

Circle,Large,11,Male,Smart,very nice,Kyle,Kyle @ gmail.com

我从php页面获取所有这些值,但是我希望文件中的值用冒号而不是逗号分隔,我还想实现每个条目编号的计数。

以下是一个例子:

  

1:圈子:大:11:男:聪明:非常好:Kyle:Kyle@gmail.com

     

2:Square:Small:14:Female:Smart:非常好:Kylie:Kylie@gmail.com

2 个答案:

答案 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 :(得分:1)

显然,您只需要更改implode()函数使用的glue参数(有关详细信息,请参阅其doc)。

话虽如此,你必须将内爆线更改为:

range(M)