Ist der Inhalt des Arrays der gesuchte String ?
Pedda
- php
0 Julian Hofmann0 Pedda0 Julian Hofmann0 Pedda0 Julian Hofmann0 Pedda
Hallo zusammen !
Ich suche nun schon seit einer kleinen Weile nach eimner Lösung, werde aber aus den gefundenen Ansätzen einfach nicht schlau !?
Was ich möchte:
Ich möchte den Inhalt eines Ordners (also die Dateinamen) in einen array packen und die beiden Dateien VOR und NACH einem vorgegebenen Dateinamen zusätzlich ausgeben.
Ordnerinhalt in array packen:
**********************************
$dir = opendir($rep);
while ($f = readdir($dir)) {
if ($f != "." && $f !="..") {
$suc[]=$f;
}
}
***********************************
Das scheint zu funzen...
Nun zähle ich wieviele Werte im array stehen:
***********************************
$anzahl=count($suc);
***********************************
...funzt auch...
Nun das Problem (zumindest glaube ich, dass das Problem hier liegt *g*):
***********************************
($wert ist ein String - genau wie die array-Inhalte)
for ($i=0; $i<$anzahl; $i++) {
if ($wert == $suc[i]) {
$r2=$suc[i-2];
$r1=$suc[i-1];
$n1=$suc[i+1];
$n2=$suc[i+2];
}
}
************************************
Eigentlich sollten die $rx und $nx Variablen doch nun die passenden Strings enthalten !?
Ich reck das einfach nicht :(
Kann mir bitte jemand weiterhelfen ?
Thnx
Pedda
Hallo Pedda.
Das Problem dürfte beim Auslesen des Verzeichnisses liegen. Unsereins erwartet, dass die Dateien im Array schön geordnet stehen, wie wir es im FTP-Client oder auf der Shell auch sehen - PHP sieht das anders. In dem Array sind die Dateien (vermutlich auch bei Dir) durcheinander. Sortiert erst mal Dein Array und suche danach erst den Wert (und die Vorgänger
/Nachfolger).
Hatte mit dieser Ordnung auch schon meine Probleme.
Grüße aus Würzburg
Julian
Hallo Julian
Das Problem dürfte beim Auslesen des Verzeichnisses liegen. Unsereins erwartet, dass die Dateien im Array schön geordnet stehen, wie wir es im FTP-Client oder auf der Shell auch sehen - PHP sieht das anders. In dem Array sind die Dateien (vermutlich auch bei Dir) durcheinander....
Definitiv "nein" ... ich habe mir das komplette Array mal ausgegeben (also von $suc[0] bis $suc[ende]).
Die Reihenfolge stimmt !
Hast du noch'ne Idee ? *g*
Gruss aus Münster
Pedda
Hallo Pedda.
Inwieweit werden denn falsche Daten geliefert. Ist etwas schwer nur anhand des Codes Fehler zu finden. Ist einfacher, wenn man weiß, was schiefgeht.
Nebenbei: Du bekommst Probleme wenn $wert = $suc[count($suc)(-1)] und bei $suc[0],$suc[1]. Deine $rx und $nx laufen dann aus dem Wertebereich raus. (Mag sein, dass es nur ein Warning von PHP gibt und esolche Fehler geschlucktw erden, sauber ist's aber net).
Grüße aus Würzburg
Julian
Hallo Julian
Deine $rx und $nx laufen dann aus dem Wertebereich raus....
Für DAS Problem hab' ich bereits eine Lösung *g*
Es werden keine "falschen" Daten in die $rx und $nx geschrieben, sondern gar keine !?
Ein echo "R1 ist: $r1"; (z.B.) gibt aus: "R1 ist:" ...das war's da kommt gar nix :(
... und ich schmeiss mich gleich ausm Fenster *g*
Gruss aus Münster
Pedda
Hallo Pedda.
Hab jetzte twas rumgespielt. Kanns sein, dass Du auch in anderen Sprachen programmierst? Zum Beispiel Java?
Schau Dir nochmal das an:
if ($wert == $suc[i]) {
$r2=$suc[i-2];
$r1=$suc[i-1];
$n1=$suc[i+1];
$n2=$suc[i+2];
}
Und jetzt überlege Dir, ob i dennrichtig eingesetzt ist. Ham wir da nicht (bei jedem Vorkommen) eine Kleinigkeit übersehen? Ist i nicht eine Variable??
Grüße aus Würzburg
Julian
Hallo Julian...
...aaaarghs !!!
Jo, thnx !!
Gruss aus MS
Pedda