将数组数据保存在平面文件中

时间:2013-09-19 06:32:48

标签: php arrays flat-file

我的数据库中有一个名为ip_management.id_address的列。我想选择所有IP地址并将它们保存在平面文件(.txt)中。我试图先将它们放入一个数组中,然后将其保存到文本文件中。

这是我的代码:

$query = "SELECT ip_address FROM ip_management";
$result = mysql_query($query);
$result_array = array();
while($row = mysql_fetch_assoc($result)) {
    $result_array[] = $row;
}                 
print_r($result_array);
$file_handle = fopen($create_name, 'w') or die("Error: Can't open file");
foreach($result_array as $key => $value) {
    fwrite($file_handle,$value."|");
}

但是我在我的文本文件中得到了这个结果:

Array|Array|Array|...

我希望IP地址出现在我的文本文件中,如下所示:

10.10.10.10|11.11.11.11|12.12.12.12|...

我的代码出了什么问题?

3 个答案:

答案 0 :(得分:1)

您希望将数组的ip地址元素写入文件,而不是整行。

因此,请更改写入文件的代码:

fwrite ($file_handle, $value['ip_address'] . '|');

答案 1 :(得分:1)

请使用以下代码我做了一些更改,这也减少了您的代码行

<?php

$query = "SELECT ip_address FROM ip_management";
$result = mysql_query($query);

while($row = mysql_fetch_array($result)) {
    $str.=$row['ip_address']."|";
}                 

$file_handle = fopen($create_name, 'w') or die("Error: Can't open file");
fwrite($file_handle,$str);
fclose($file_handle);

?>

答案 2 :(得分:0)

更改此行:

 { $result_array[] = $row; }

 { $result_array[] = $row['ip_address']; }