Ik heb het begin van een script gemaakt, maar ik kom niet verder.
Verbeter alles wat nodig is.

<?php
$file = "tribe";
$lines = gzfile('http://nl2new.tribalwars.nl/map/'.$file.'.txt.gz', 'r');
if(!is_array($lines)) die ("Het bestand konden niet worden gevonden.");
foreach($lines as $line) {
    list($id, $name, $ally, $villages, $points, $rank) = explode(',', $line);
	$name = urldecode($name);
}
?>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><?php $_POST['id'] ?></td>
    <td><?php $_POST['name'] ?></td>
    <td><?php $_POST['ally'] ?></td>
    <td><?php $_POST['villages'] ?></td>
    <td><?php $_POST['points'] ?></td>
    <td><?php $_POST['rank'] ?></td>
  </tr>
</table>


Het is de bedoeling dat er gegevens uit de lijst word gehaald.
Hoe kan ik zorgen dat alleen de gene met de $ally 1772 eruit worden gehaalt.
Ik krijg ook deze error:
Warning: gzfile() expects parameter 2 to be long, string given in /usr/home/deb4546/domains/daanvd.nl/public_html/index2.php on line 25
Wat betekend dat?
Je moet de 2e parameter weghalen... lees voortaan de php.net manual...
nou..
Als je $ally 1772 eruit wilt halen kan je bijv dit doen:

<?php
$file = "tribe";
$lines = gzfile('http://nl2new.tribalwars.nl/map/'.$file.'.txt.gz', 'r');
if(!is_array($lines)) die ("Het bestand konden niet worden gevonden.");
foreach($lines as $line) {
    list($id, $name, $ally, $villages, $points, $rank) = explode(',', $line);
    $name = urldecode($name);
}
if ($ally == 1772){
?>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><?php $_POST['id'] ?></td>
    <td><?php $_POST['name'] ?></td>
    <td><?php $_POST['ally'] ?></td>
    <td><?php $_POST['villages'] ?></td>
    <td><?php $_POST['points'] ?></td>
    <td><?php $_POST['rank'] ?></td>
  </tr>
</table>
     }
else{
echo "variable ally is  niet 1772";

t antwoord op je tweede vraag weet k niet..
[php]gzopen[/php] heeft als 2e parameter een bool of hij het include_path moet gebruiken om het bestand te vinden of niet. gzfile != fopen :)

<?php
    $lines = gzfile('http://nl2new.tribalwars.nl/map/'.$file.'.txt.gz');
    foreach($lines as $line) {
        list($id, $name, $ally, $villages, $points, $rank) = explode(',', $line);
        if($ally == '1772') {
            echo '<table width="100%" border="0" cellspacing="0" cellpadding="0">
                        <tr>
                            <td>' . $id . '</td>
                            <td>' . urldecode($name) . '</td>
                            <td>' . $ally . '</td>
                            <td>' . $villages . '</td>
                            <td>' . $points . '</td>
                            <td>' . $rank . '</td>
                        </tr>
                    </table>';
            break;
        }
    }
?>

Warning: gzfile() [function.gzfile]: open_basedir restriction in effect. File(/var/tmp/) is not within the allowed path(s): (/home/*******/:/tmp:/usr/local/lib/php/) in /*****/public_html/index2.php on line 26

Warning: gzfile(http://nl2new.tribalwars.nl/map/tribe.txt.gz) [function.gzfile]: could not make seekable - http://nl2new.tribalwars.nl/map/tribe.txt.gz in /******/public_html/index2.php on line 26

Warning: Invalid argument supplied for foreach() in /******/public_html/index2.php on line 27


Begrijp ik hier uit dat hij geen externe file kan openen?
ja. heel goed gezien.

Je kan eigenlijk bijna nooit externe dingen doen met php.
Hoe kan ik dit dan verhelpen, want deze lijst word constant vernieuwd op die server. Om de 10minuten. Dus opslaan heeft weinig zin.

Iemand een idee?
file_get_contents() gebruiken,


maar ben je op regel 13 t/m 18, niet steeds een echo vergeten?
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<?php
$lines = gzfile != fopen('http://nl2new.tribalwars.nl/map/tribe.txt.gz', "r");
foreach($lines as $line) {
list($id, $name, $ally, $villages, $points, $rank) = explode(',', $line);
if($ally == '7992') {
echo '<tr>
<td>'. $id .'</td>
<td>'. urldecode($name) .'</td>
<td>'. $ally .'</td>
<td>'. $villages .'</td>
<td>'. $points .'</td>
<td>'. $rank .'</td>
</tr>';
break;
}
}
?>
</table>

Wat betekent deze error?
Warning: Invalid argument supplied for foreach() in,
foreach($lines as $line) {
dat $file geen array is

Reageren