Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „scandir nutzen aber wie?“

rey

Der Frager ;)

hi,
ich habe mir ne php Erweiterung Installiert das Problem ist ich weiß jetzt nicht wie ich diese mit scandir verbinde.
Die erweterung emöglicht es daten aus einer .rep datei auszulesen.
allerdings zu mir einem Absoluten Pfad . Ich wollte es jetzt Dynamsicher machen und zwar. via scandir alle dateien Auflisten die .rep enden und dazughörige daten ebenfals auslesen. und wenn ich drauf klicke auf den dateinamen soll die gesamten daten zu der einen .rep datei anzeigen.
PHP:
<?php
    $info = php_bw_load_replay("C:\\Programme\\StarCraft\\maps\\replays\\ffow udn fun gebasht.rep");
    if($info->ErrorCode != 0)
        die("Could not load the replay ! Message : " . $info->ErrorString);

	echo "<br>Date :"	. $info->GameDate;
		echo "<br>Number of Players :"	. $info->NumPlayer;
	echo "<br>Teams :"	. $info->Teams;
	echo"<br>Observer:" . $info->IsObserver;
	echo "<br>matchup :"	. $info->Matchup; 
    echo "<br>Duration : " . $info->GameLength;
	echo"<br>Type: " .$info->GameType;
    echo "<br>Players info : <br>";
    foreach($info->Players as $player)
        echo $player->Name . " : " . $player->RaceName . ", " . $player->IsObserver   . ","  . $player->ColorName  . "," . $player->APM . "APM.<br>";
?>
das is das script für den absoluten pfad jetzt würde er mir den Spielernamen , Das Datum die anzahl der Spieler was für ein typ etc. anzeigen.

wenn ich scandir jetzt einbinden möchte. wen ich es so mache geht es aber nicht
PHP:
<?php
$dir = "replays/";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
    $files[] = $filename;
}

sort($files);


print_r($files);


    $info = php_bw_load_replay($files);
    if($info->ErrorCode != 0)
        die("Could not load the replay ! Message : " . $info->ErrorString);

	echo "<br>Date :"	. $info->GameDate;
		echo "<br>Number of Players :"	. $info->NumPlayer;
	echo "<br>Teams :"	. $info->Teams;
	echo"<br>Observer:" . $info->IsObserver;
	echo "<br>matchup :"	. $info->Matchup; 
    echo "<br>Duration : " . $info->GameLength;
	echo"<br>Type: " .$info->GameType;
    echo "<br>Players info : <br>";
    foreach($info->Players as $player)
        echo $player->Name . " : " . $player->RaceName . ", " . $player->IsObserver   . ","  . $player->ColorName  . "," . $player->APM . "APM.<br>";
?>
komtm das hier
Array ( [0] => . [1] => .. [2] => 1v1Sieg.rep [3] => 2v2Sieg.rep [4] => Rematch.rep [5] => 3v3Low.rep [6] => repcache )
Warning: php_bw_load_replay() expects parameter 1 to be string, array given in C:\xampp\htdocs\reps\replay\liste.php on line 14

Date :
Number of Players :
Teams :
Observer:
matchup :
Duration :
Type:
Players info :

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\reps\replay\liste.php on line 26
so sollte er mir alle Dateien untereinander anzeigen und folgende daten auslesen Spieldatum und den Matchup aber irgendwie geht nicht ;)
 
Zuletzt bearbeitet:

mp17

Aktives Mitglied

AW: scandir nutzen aber wie?

naja du lädst nen array rein, wo nen string erwartet wird. du musst das mit ner schleife lösen:

PHP:
<?php
$dir = "replays/";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
    $files[] = $filename;
}

sort($files);


print_r($files);

for($i=0;$i<sizeof($files);$i++){
    $info = php_bw_load_replay($files[$i]);
    if($info->ErrorCode != 0)
        die("Could not load the replay ! Message : " . $info->ErrorString);

    echo "<br>Date :"    . $info->GameDate;
        echo "<br>Number of Players :"    . $info->NumPlayer;
    echo "<br>Teams :"    . $info->Teams;
    echo"<br>Observer:" . $info->IsObserver;
    echo "<br>matchup :"    . $info->Matchup; 
    echo "<br>Duration : " . $info->GameLength;
    echo"<br>Type: " .$info->GameType;
    echo "<br>Players info : <br>";
    foreach($info->Players as $player)
        echo $player->Name . " : " . $player->RaceName . ", " . $player->IsObserver   . ","  . $player->ColorName  . "," . $player->APM . "APM.<br>";
}
?>
 

rey

Der Frager ;)

AW: scandir nutzen aber wie?

hab alle dateien geprüft die gehen alle.
die Dateien sind in nem unterordner der replays heisst
deshalb an dem dir kanns ja nicht liegen.
 

mp17

Aktives Mitglied

AW: scandir nutzen aber wie?

achso lol jetzt seh ichs:
Array ( [0] => . [1] => .. [2] => 1v1Sieg.rep [3] => 2v2Sieg.rep [4] => Rematch.rep [5] => 3v3Low.rep [6] => repcache )

in element 0 und 1 sind nur die . und .. verzeichnisse gelistet lol also musst du quasi bei element 2 anfangen, das wäre dann so:

PHP:
for($i=2;$i<sizeof($files);$i++){
 

rey

Der Frager ;)

AW: scandir nutzen aber wie?

er sagt
[6] => repcache ) Could not load the replay ! Message : No such file or directory

hm.. da passt irgendwas net
 
Zuletzt bearbeitet:

mp17

Aktives Mitglied

AW: scandir nutzen aber wie?

ja komm jetzt kannste aber auch mal anfangen selber zu denken... alter ei..
also element 6, scheint falsch zu sein, was könnte man denn da machen ?

das zB:
PHP:
for($i=2;$i<sizeof($files)--;$i++){
 

rey

Der Frager ;)

AW: scandir nutzen aber wie?

Array ( [0] => . [1] => .. [2] => 1v1Sieg.rep [3] => 2v2Sieg.rep [4] => Rematch.rep [5] => 3v3Low.rep [6] => repcache )Could not load the replay ! Message : No such file or directory
das hat doch net zu heisst das elemnt 6 falsch ist oder etwa doch wenn ich -- das hinzufüge heisst es die zeile sei falsch
Fatal error: Can't use function return value in write context in C:\xampp\htdocs\reps\replay\liste.php on line
ne das liegt an etwas anderem
glaube nicht das es an der schleife liegt!
 

mp17

Aktives Mitglied

AW: scandir nutzen aber wie?

Mach es einfach mal so:

PHP:
<?php
$dir = "replays/";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
    $files[] = $filename;
}

sort($files);


print_r($files);

for($i=2;$i<sizeof($files)--;$i++){
    $info = php_bw_load_replay($files[$i]);
    if($info->ErrorCode != 0)
        die("Could not load the replay ! Message : " . $info->ErrorString);

    echo "<br>Date :"    . $info->GameDate;
        echo "<br>Number of Players :"    . $info->NumPlayer;
    echo "<br>Teams :"    . $info->Teams;
    echo"<br>Observer:" . $info->IsObserver;
    echo "<br>matchup :"    . $info->Matchup; 
    echo "<br>Duration : " . $info->GameLength;
    echo"<br>Type: " .$info->GameType;
    echo "<br>Players info : <br>";
    foreach($info->Players as $player)
        echo $player->Name . " : " . $player->RaceName . ", " . $player->IsObserver   . ","  . $player->ColorName  . "," . $player->APM . "APM.<br>";
}
?>

Und falls da nen Fehler kommt, schreib die genaue Fehlermeldung hier rein.
 

rey

Der Frager ;)

AW: scandir nutzen aber wie?

hat sich erledigt so gehts
PHP:
<?php 

chdir('replays/');
$repfiles = glob("*.rep");

foreach($repfiles as $repfile)
{
 $aktueller_pfad = getcwd();
 $info = php_bw_load_replay($aktueller_pfad."/".$repfile); 
    if($info->ErrorCode != 0)
        die("Could not load the replay ! Message : " . $info->ErrorString);
   
    echo "<br>Date :"    . $info->GameDate;
        echo "<br>Number of Players :"    . $info->NumPlayer;
    echo "<br>Teams :"    . $info->Teams;
    echo"<br>Observer:" . $info->IsObserver;
    echo "<br>matchup :"    . $info->Matchup; 
    echo "<br>Duration : " . $info->GameLength;
    echo"<br>Type: " .$info->GameType;
	echo"<br> Download: <a href=replays/$repfile> Download</a>";
 echo"<br> Details: <a href=\"php_bw_load_replay.php?path=$repfile\">Details</a>";  
     echo "<br>Players info : <br>";
    foreach($info->Players as $player)
        echo $player->Name . " : " . $player->RaceName . ", " . $player->IsObserver   . ","  . $player->ColorName  . "," . $player->APM . "APM.<br>";
}
?>
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.158
Beiträge
2.581.874
Mitglieder
67.225
Neuestes Mitglied
Petra
Oben