Ho il seguente pezzo di codice su un PHP 5.2.4 (senza safe_mode) server Linux:
mkdir($path, 0777, true);
quando entro in un percorso simile:
'/path/to/create/recur/ively/'
tutte le directory sono create, tranne che per l'ultimo ... quando aggiungo un'altra directory come:
'/path/to/create/recur/ively/more/'
ancora una volta, tutti i percorsi sono creati, tranne che per l'ultimo ...
hanno provato sia con che senza trailing slash
Può any1 illuminarmi qui per favore?
Inserisci la versione esatta di PHP che stai utilizzando. Inoltre, il tuo host è in esecuzione con safe_mode abilitato? –
Qual è il tuo livello error_reporting? Se qualcosa va storto, viene generato E_WARNING. la modalità sicura è disattivata, ma la tua versione di php contiene qualcosa come suhosin? Come (e da dove) hai installato php? Compilato da fonti "php.net" di vaniglia? Attraverso il gestore del pacchetto della tua distribuzione (quale è e qual è il nome esatto del pacchetto)? La funzione php_plain_files_mkdir() (responsabile della funzione php mkdir (x, y, true)) non è cambiata da un po 'di tempo e non ho trovato un bug correlato su http://bugs.php.net – VolkerK
Quindi, lascia mi riassumo: la domanda è "mkdir ricorsivo non funziona correttamente", e la risposta è "oh golosamente, ho fatto un errore e cancellato la directory più avanti nel codice". Allora mi chiedo davvero perché questo utente ha 26 voti positivi per questa preziosa informazione? Non credo che altre 14 persone abbiano avuto lo stesso problema ... – rob74