Fehler bzw. Warnung mkdir()

fabilazar

Mitglied
Hallo
ich bekomme jedes mal eine Warnung wenn ich mein Skript ausführe:
Warning: mkdir() []: File exists in ...
Code:
 define("DIR", mkdir("./tmpdir", 0700));
Muss ich da noch was abfangen oder?
Gruß
 
Es ist kein Wunder, dass du jedes Mal eine Warnung bekommst, denn bei jedem Aufruf wird versucht, das Verzeichnis neu zu erstellen.
 
Ja aber ich habe nur die Konstante definiert, mehr wollte ich nicht.
Ich will es zu einem späteren Zeitpunkt setzen, falls noch kein Verzeichnis besteht.
Code:
 if(empty($this->tempdir))
 		{
 			$this->tmpdir = DIR;
 		}
 		else
 		{
 			return true;
 		}
Wie kann ich das verhindern?
 
Deine Konstante wird in deinem Fall mit dem Wert des Rückgabewerts der mkdir()-Funktion deklariert.

Was versuchst du denn zu realisieren?
 
Ich will bzw. muß ein Standardverzeichnis (Konstante)
relativ zum aktuellen Verzeichnis, das die temporäre Archivdatei aufnehmen soll deklarieren.
 
Nach dem ersten Aufruf der Funktion existerit das Verzeichnis jedoch bereits. Ein weiterer Aufruf ist nicht notwendig. Desweiteren können Konstanten nur skalare Werte beinhalten.
 
Du kannst lediglich den Pfad eines Verzeichnisses in einer Konstante definieren, nicht jedoch den Aufruf zum Erstellen des Verzeichnisses.
 
Haut noch nicht so ganz hin... hier der Code
Code:
 $path = "./tmpdir";
 define("DIR", $path);
 
 /*tmpdir soll auf die Konstante gesetzt werden falls kein Parameter übergeben wurde
 Danach falls das Verzeichnis noch nicht existiert, wird es angelegt*/
 
 function CodeUpdate($tmpdir =' ') {
 if(empty($this->tmpdir))
 		{
 			$this->tmpdir = DIR;
 		}
 		else
 		{
 			return true;
 		}
 		
 		if (!file_exists($this->tmpdir)) 
 		{
 			mkdir("./tmpdir", 0700);
 		}
 		else
 		{
 			return true;
 		}
 		
 	}
Es wird kein Verzeichnis angelegt...?
 
Zurück