Seit Tagen kommen ich an meinem Ranking-Script nicht weiter.
Ausgangslage:
- Das Ranking-Script soll im Hauptverzeichnis liegen
- Das Script soll einen rekursiven Durchsucher machen in der nächsten
Ebene der Unterverzeichnisse wo swf-Dateien liegen.Innerhalb jedes dieser Unterverzeichnisse liegt ein weiteres Unterverzeichnis "comments" (zu jeder swf in comments = 1 Datei mit gleichem Namen, jedoch .txt anstatt .swf)
- Die Votings in den .txt-Dateien haben nur eine einzige Zeile: Bsp: 6|24
(= 6 Stimmen und Total 24 Punkte ), was kalkuliert einen durchschn.
Wert von 4.00 ergibt.
- Beim Durchsuchen nach dem Vorhandensein sollen diese Werte
und der passende Link zu der swf-Datei in ein Array gespeichert werden.
- Am Ende der Durchsuchung soll das Array nach dem höchsten Wert
sortiert werden, und es sollen nur die ersten 10 besten ausgegeben
werden.
Uff .... ich kann ja etwas PHP, aber seit Tagen komme ich nicht weiter. Wer könnte mir bitte mal den Code anschauen, ev korrigieren, das wäre super nett, ich verlier langsam meine Nerven vor lauter Googeln, Versuchen und Testen ohne Erfolg.
Anbei der Code, bei welchem das "Formular-Feld" noch weg sollte, und das Script bei Aufruf automatisch starten sollte:
- Code: Select all
<? echo "
<form action=\"$PHP_SELF\" method=\"post\">
<input type=\"text\" size=\"10\" maxlength=\"246\" name=\"xdateitypx\">
<input type=\"submit\" value=\"Bewertungen suchen\">
</form>";
$dir = ".";
$lastModification = lastmodification('.');
echo $lastModification;
function lastmodification($verzeichniss){
$xdateitypx = $HTTP_POST_VARS["xdateitypx"];
global $xdateitypx;
global $var1;
$dir = @opendir($verzeichniss);
while ($datei = @readdir($dir)){
$test = $verzeichniss."/".$datei."";
$DomainName="http://www.blablabla.ch";
if(is_dir($test)){
if($datei != "." && $datei != ".."){
echo "";
lastmodification($test);
}
}
elseif(stristr($datei,$xdateitypx)&&stristr($test,"votes") ){
$fp = @fopen("$test", "r");
$ligne = @fgets($fp,4096);
$tt_votes = strrchr($ligne, "|");
$tt_votes = str_replace("|", "", $tt_votes);
$tt_votes = trim($tt_votes);
$ligne = strrev($ligne);
$nb_votes = strrchr($ligne, "|");
$nb_votes = strrev($nb_votes);
$nb_votes = str_replace("|", "", $nb_votes);
$nb_votes = trim($nb_votes);
@fclose($fp);
$tt_votes = @round($tt_votes / $nb_votes,2);//errechnet Wert
$array = array();
array_push($array,"$tt_votes $test");
}
clearstatcache();
}
};
$x = 0;
while($x<10){$x = ($x + 1);
echo $array[$x];};
?>
Leider passiert nichts, ich Verzweifle, was ist falsch, was muss ich ändern?
Für Hilfe bin ich sehr dankbar.