L'elenco dei permessi che fornite alla funzione " mkdir " sono validi solo su file system basati su Linux . Questo significa che non è possibile associare i permessi con una directory da voi creata sotto Windows . Se si passa autorizzazioni con la funzione " mkdir " sotto Windows , PHP semplicemente li ignora .
Default User Account
Ricordate che un run script su un server Web un browser viene eseguito con l' account utente predefinito sul server Web, ad esempio " www-data ", non con il proprio account utente . Se le autorizzazioni di directory non funzionano , è possibile che si sta testando uno script con il proprio account anziché l'account utente predefinito . È possibile testare lo script come utente predefinito digitando "su www -data" ed esplorare le autorizzazioni sulla directory assegnate a tale utente .
Directory Maschera
Se le autorizzazioni risultanti di una nuova directory sono diversi da quello che hai passato , può essere causa di una maschera di directory applicata ai permessi . La maschera è mantenuta dal server Web , non da PHP. Per aggirare la maschera , utilizzare la funzione " umask " per impostare la maschera a zero, creare la directory con " mkdir " e modificare le autorizzazioni sulla directory con la funzione " chmod "
Per esempio : .
La funzione " mkdir " prende un secondo argomento opzionale che crea directory nidificate in modo ricorsivo. Quando si assegnano le autorizzazioni di directory ricorsivamente , le autorizzazioni non possono essere eseguite nell'ordine corretto e si potrebbero ottenere risultati diversi da quello che ti aspettavi . Per garantire l'ordine corretto , utilizzare la funzione " chmod " per assegnare le autorizzazioni di directory per la nuova directory dopo averla creata con la funzione " mkdir " Per esempio : . < ? phpif ( mkdir ( $ newdir , 0755 , true) ) chmod ( $ newdir , 0755 ) ; ? >
ricorsiva Assegnazione
Informazioni correlate
Programmazione © www.354353.com