我有一个数组$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()
,但没有给我带来我想要的清晰效果。有什么帮助吗?
答案 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