2013-08-22 5 views
1

J'ai un tableau $urls_array, comment puis-je seulement enregistrer le contenu et rien d'autre dans un fichier?Enregistrer uniquement le contenu du tableau php dans le fichier

ENTRÉE:

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

SORTIE:

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

J'ai essayé d'utiliser json_encode($urls_array) et serialize() et print_r(), mais rien ne m'a donné le résultat propre que je voulais. De l'aide?

+0

qu'en est-il de file_put_contents? –

+0

essayé aussi mais il enregistre essentiellement tout le tableau array "Array ([0] =>" et pas seulement l'URL – user1899415

Répondre

3

Avez-vous essayé file_put_contents?

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

ci-dessus a seulement un petit problème: si votre tableau est grand, il sera converti en une longue chaîne avant d'être écrit dans le fichier dans son ensemble. Pour éviter cette mémoire d'opération intensive, boucle à travers le réseau et écrire chaque élément dans le fichier de manière séquentielle:

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: quel commentaire? Avez-vous essayé mon code? – knittl

+0

cela fonctionne !! Devinez il y a de la magie avec la jointure ("\ n") partie que je n'ai pas utilisée plus tôt ... génie merci! – user1899415

+0

@knittl pas celui que vous avez édité non ça fonctionne bien –

2

essayer ce code son travail à 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 ne veut que les éléments du tableau dans son fichier, pas la structure du tableau – knittl

+0

@ knittl essayez le code édité .. –

+0

maintenant c'est 100% de travail :) – knittl

1

Try this ..

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

Essayez ceci:

<?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); 
} 
?> 

La principale benifit de file_put_contents est qu'il est équivalent appeler fopen() + fwrite() + fclose(), donc pour des tâches simples comme celui-ci, il peut être très utile.

Vous pouvez trouver son manuel ->HERE.

Questions connexes