2010-08-24 3 views
4

i un texte (text.txt) fichier comme ceci:En PHP, comment trier un fichier en sens inverse?

shir 
beer 
geer 
deer 

j'ai aussi une page php avec cette source:

<?php 
foreach (glob("*.txt") as $filename) { 
    $file = $filename; 
    $contents = file($file); 
    $reverse = array_reverse($file, true); 
    $string = implode("<br>" , $contents); 
    echo $string; 
    echo "<br></br>"; 
} 
?> 

Je veux que dans la page php il sera afficher:

deer 
geer 
beer 
shir 

de la fin du fichier au début.
merci

Répondre

6

On dirait que vous inversez le nom du fichier et non le contenu.

Ne

$reverse = array_reverse($content); // you can drop 2nd arg. 
$string = implode("<br>" , $reverse); 

à la place de

$reverse = array_reverse($file, true); 
$string = implode("<br>" , $contents); 

Aussi, vous pouvez supprimer les variables temporaires de votre scénario et faites:

foreach (glob("*.txt") as $filename) { 
    echo implode("<br>" , array_reverse(file($filename))) . "<br></br>"; 
} 
+0

merci beaucoup !! – Ronny

2
<?php 
foreach (glob("*.txt") as $filename) { 
    $file = $filename; 
    $contents = file($file); 
    $reverse = array_reverse($contents, true); 
    $string = implode("<br>" , $reverse); 
    echo $string; 
    echo "<br></br>"; 
} 
?> 

Votre résultat a été un $ contenu, sans inversion.

+0

Ceci inverse encore '$ file', pas' $ contents' comme désiré. – pinkgothic

+0

Ouhch. Oui. Erreur. – pltvs

+0

Parfois, ces choses sont faciles à manquer. :) Merci de le réparer! – pinkgothic