views:

72

answers:

3

hi, i have a text (text.txt) file like this:

shir
beer
geer
deer

i have also a php page with that 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>";
}
?>

I want that in the php page it will show:

deer
geer
beer
shir

from the end of the file to the beginning.
thank you

+6  A: 

Looks like you are reversing the file name and not the contents.

Do

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

in place of

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

Also you can remove the temp variables from you script and do:

foreach (glob("*.txt") as $filename) {   
    echo implode("<br>" , array_reverse(file($filename))) . "<br></br>";
}
codaddict
thank you so much!!
Ronny
A: 

Do you mean you need rsort?

FractalizeR
+2  A: 
<?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>";
}
?>

Your result was a $contents, without reverse.

Alexander.Plutov
This still reverses `$file`, not `$contents` as desired.
pinkgothic
Ouhch. Yes. Mistake.
Alexander.Plutov
Sometimes these things are easy to miss. :) Thanks for fixing it!
pinkgothic