2013-08-22 21 views
1

我有一個數組$urls_array,我如何只將內容而不是其他內容保存到文件中?只保存php數組的內容到文件

輸入:

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

OUTPUT:

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

我嘗試使用json_encode($urls_array)serialize()print_r(),但沒有給我的乾淨的結果,我想要的。任何幫助?

+0

file_put_contents呢? –

+0

也嘗試過,但它基本上保存所有數組的東西「Array([0] =>」,而不僅僅是網址 – user1899415

回答

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"); 
} 
+0

@NoIdeaForName:哪個評論?你有沒有試過我的代碼? – knittl

+0

這有效! (「\ n」)我以前沒有用過的部分......天才感謝! – user1899415

+0

@knittl不是你編輯的號碼沒問題,它工作正常 –

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); 
    ?> 
+0

OP只想要他的文件中的數組元素,而不是陣列結構。 – knittl

+0

@ knittl嘗試編輯的代碼.. –

+0

現在它是100%工作:) – knittl

1

試試這個..

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

試試這個:

​​

file_put_contents主要benifit是,它相當於調用fopen() + fwrite() + fclose(),所以對於這樣簡單的任務,它可以是非常有用的。

你可以找到它的手冊 - >HERE

相關問題