只保存php数组的内容到文件

时间:2013-08-22 06:07:27

标签: php arrays

我有一个数组$urls_array,我如何只将内容而不是其他任何内容保存到文件中?

INPUT:

Array (
  [0] => "http://google.com"
  [1] => "http://facebook.com"
  [2] => "http://yahoo.com"
)

输出:

http://google.com
http://facebook.com
http://yahoo.com

我尝试使用json_encode($urls_array)serialize()以及print_r(),但没有给我带来我想要的清晰效果。有什么帮助吗?

5 个答案:

答案 0 :(得分:3)

您是否尝试过file_put_contents?

file_put_contents('filename', join("\n", $your_array));

上面只有一个小问题:如果你的数组很大,它会在被写入整个文件之前转换为长字符串。为了避免这种内存密集型操作,循环遍历数组并按顺序将每个项写入文件:

if(($f = fopen("filename","w")) !== FALSE) {
  array_walk($your_array, function($item) use($f) { fwrite($f, $item . "\n"); });

  // or, with an implicit loop
  // foreach($your_array as $item) fwrite($f, $item . "\n");
}

答案 1 :(得分:2)

尝试使用此代码100%正常工作......

  <?php
    $data=array("http://google.com","http://facebook.com","http://yahoo.com");
    $fp = fopen('file.txt', 'w');
    foreach($data as $key => $value){
   fwrite($fp,$value."\t");
  }
    fclose($fp);
     ?>

答案 2 :(得分:2)

试试这个:

file_put_contents('/path/to/file', implode("\n", $urls_array));

以下是文档:http://php.net/manual/en/function.file-put-contents.php

答案 3 :(得分:1)

试试这个..

<?php
  $arr=array("ABC","DEF","GHI");
  $fp=fopen("test.txt","w+");
  foreach($arr as $key => $value){
   fwrite($fp,$value."\t");
  }
?>

答案 4 :(得分:0)

试试这个:

<?php
$myArray = Array(0 => "http://google.com", 1 => "http://facebook.com", 2 => "http://yahoo.com");
foreach($myArray as $value){
    file_put_contents("text.txt", $value."\n", FILE_APPEND);
}
?>

file_put_contents的主要好处是,它等同于调用fopen() + fwrite() + fclose(),因此对于像这样的简单任务,它可能非常有用。

你可以找到它的手册 - &gt; HERE