2014-04-06 16 views
5

Viene visualizzato questo errore quando si tenta di utilizzare la funzione mkdir() in PHP.Avviso: mkdir() [function.mkdir]: Nessun file o directory PHP?

fondamentalmente sto creando un cliente sul mio server basato su un input field nel modulo HTML denominato (inPut).

ora sto provando a creare una directory in quel sottodominio dopo che è stato creato.

quindi utilizzare il seguente codice:

$subDomain= $_POST['inPut']; 

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

ma ottengo il seguente errore:

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

e sulla linea 99 è questo:

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

come una nota: il sottodominio viene creato correttamente. quindi so che il sottodominio 100% esiste sul mio server. Solo non so perché ottengo quell'errore!

qualcuno potrebbe consigliare questo problema?

Grazie in anticipo.

risposta

19

Prova a mettere terzo parametro. La firma del metodo è:

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

Così il vostro codice sarebbe:

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

con il tuo codice Non ho più ricevuto l'errore ma la 'nuovaDirectory' non viene creata! qualche suggerimento? – user3454730

+0

Prova la mia risposta modificata. –

+0

Ancora nessun errore ma neanche la nuova directory viene creata! – user3454730

0

Prova questa, [Modificato]

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

non creerà il 'newDirecotry' nella' root' del dominio? ad esempio: 'mydomain.com/newDirectory'? – user3454730

+0

Aggiornato, questo dovrebbe funzionare. –

+0

Sfortunatamente stesso errore! – user3454730

1

mkdir sta lavorando solo con il percorso di directory, non l'URL o il dominio.

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

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

Si dovrebbe fare riferimento al percorso assoluto del sottodominio, non all'URL.