2014-04-06 12 views
5

Ich bekomme diesen Fehler, wenn ich versuche, mkdir() Funktion in PHP zu verwenden.Warnung: mkdir() [Funktion.mkdir]: Keine solche Datei oder Verzeichnis PHP?

Grundsätzlich erstelle ich eine Sundomain auf meinem Server basierend auf einem input field im HTML-Formular namens (inPut).

Jetzt versuche ich ein Verzeichnis in dieser Subdomain zu erstellen, nachdem es erstellt wurde.

so verwende ich den folgenden Code:

$subDomain= $_POST['inPut']; 

mkdir("$subDomain.mydoamin.com/newDirectory", 0755); 

aber ich bekomme die folgende Fehlermeldung:

Warning: mkdir() [function.mkdir]: No such file or directory in line 99. 

und auf der Linie 99 ist dies:

mkdir("$subDomain.mydoamin.com/newDirectory", 0755); 

als Notiz: Die Subdomäne wird erfolgreich erstellt. Ich weiß, dass die Subdomain 100% auf meinem Server existiert. Ich weiß nur nicht, warum ich diesen Fehler bekomme!

Könnte jemand bitte zu diesem Thema beraten?

Vielen Dank im Voraus.

Antwort

19

Versuchen dritten Parameter zu setzen. Die Signatur der Methode ist:

bool mkdir (string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]]) 

So Ihr Code wäre:

mkdir(__DIR__ . "/$subDomain.mydoamin.com/newDirectory", 0755, true); 
+0

mit Ihrem Code Ich bekomme den Fehler nicht mehr, aber das 'newDirectory' wird nicht erstellt! irgendein Vorschlag? – user3454730

+0

Versuchen Sie meine bearbeitete Antwort. –

+0

Immer noch kein Fehler, aber das newDirectory wird auch nicht erstellt! – user3454730

0

Try this, [EDITED]

mkdir($_SERVER['DOCUMENT_ROOT'] . $subDomain . '/newDirectory', 0755); 
+0

wird dies nicht die 'newDirecotry' im' root' der Domäne erstellen? zum Beispiel: 'mydomain.com/newDirectory'? – user3454730

+0

Aktualisiert, dieser sollte funktionieren. –

+0

Leider gleicher Fehler! – user3454730

1

mkdir ist nur mit dem Verzeichnispfad arbeiten, nicht die URL oder Domain.

mkdir('sub.domain.com/newdir'); // return false 

mkdir('/public_html/subdomain/newdir'); //return true if /public_html/subdomain is exist 

Sie sollten auf den absoluten Pfad Ihrer Subdomain zeigen, nicht auf die URL.

Verwandte Themen