PHP - findet Variable nicht, obwohl diese deklariert ist |
seth
Pixelschubser Threadstarter
Beiträge: 11 |
Also das Problem ist, das die Funktion Unterverzeichnis_Suche($dir), der die Funktion read_tree($dir) included wird, die globale Datei $dateien nicht kennt. Wenn jemand eine Ahnung hat, warum, bitte melden. Ach ja, Unterverzeichnis_Suche wird später noch aufgerufen, der Aufruf ist nicht hier, weil er nichts zur Sache tut.
READ_TREE FUNKTION
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20: | |
UNTERVERZEICHNIS_SUCHE FUNKTION
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44: | 0)
{
if($temp[1] != $verzeichnisse[$pos-1])
{
$verzeichnisse[$pos] = $temp[1];
$pos++;
}
}
/*beim 1. Durchlauf wird auf jeden Fall ein neues Unterverzeichnis gefunden und geschrieben*/
else
{
$verzeichnisse[$pos] = $temp[1];
$pos++;
}
}
}
?> |
|
 Profil
E-Mail
Editieren
Zitieren
|
seth
Pixelschubser Threadstarter
Beiträge: 11 |
hab vergessen, die Fehlermeldung:
Notice: Undefined variable: dateien in C:\daten\Rudi Mangst homepage\WEB\PHP\Unterverzeichnis-Suche.php on line 18
|
 Profil
E-Mail
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Erst mal war das leider das falsche Forum ;)
Pack doch mal in die Funktioen read_tree testweise ein echo "test" und lass das Script dann noch mal ausführen. Wenn dann auf der Seite irgendwo ein Test oder halt mehrere erscheinen weißt du schon mal, ob er die Funktion überhaupt ausführt oder nicht.
|
 Profil
Editieren
Zitieren
|
seth
Pixelschubser Threadstarter
Beiträge: 11 |
ok hab ich gemacht, und siehe da, die funktion wird ausgeführt, gleich 7x (weil sie sich ja selbst aufruft) was nun?
|
 Profil
E-Mail
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
setz mal ganz an den anfang der zweiten Datei ein
$dateien = array();
|
 Profil
Editieren
Zitieren
|
seth
Pixelschubser Threadstarter
Beiträge: 11 |
ok, ich weiß mitlerweilen was das problem ist, nur nicht ,wie es so was geben kann. die globale variable $dateien, die in der 1. funktion deklariert wird, ist in der 2. nicht mehr vorhanden, in der 3. funktion schon wieder. nun ist es aber so, das:
funktion 1 in funktion 2 included ist
funktion 2 in funktion 3 included ist
d.h. in funktion 2 lässt sich der wert von $dateien nicht abfragen, bleibt aber zwischengespeichert, in funktion 3 geht wieder alles. ich bin radlos, das widerspricht allem was ich bis jetzt über globale variablen und programmiern überhaupt weiß. HILFE!!!!
|
 Profil
E-Mail
Editieren
Zitieren
|
seth
Pixelschubser Threadstarter
Beiträge: 11 |
übrigens, wenn ich die funktion 2 nicht mehr als funktion lass sonder direkt die zu durchsuchende datei eingeb, funzts. also so gesehen problem behoben, ich werd aber niemanden daran hindern die anomalie der globalen variable $dateien nochmal zu durchdenken
|
 Profil
E-Mail
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
ach *g* du musst in der zweiten Funktion auch ganz oben ein
global $dateien;
einfügen, dann gehts ;)
|
 Profil
Editieren
Zitieren
|