- Home
- Categorie
- Coding e Sistemistica
- PHP
- Funzione mkdir
-
Funzione mkdir
Ciao a tutti.
Volevo spiegarmi il perchè la funzione sottoscritta mi funziona solo la prima volta che la eseguo e inoltre come faccio ad assegnargli il nome della cartella proveniente da un form?
Ecco il codice:
<?php
$path = "C:/FoxServ/www/datagame.com";
function mk_dir($path, $rights = 0777)
{
$folder_path = array(
strstr($path, '.') ? dirname($path) : $path);
while([EMAIL="!@is_dir(dirname(end($folder_path"]!@is_dir(dirname(end($folder_path[/EMAIL])))
&& dirname(end($folder_path)) != '/'
&& dirname(end($folder_path)) != '.'
&& dirname(end($folder_path)) != '')
array_push($folder_path, dirname(end($folder_path)));
while($parent_folder_path = array_pop($folder_path))
if([EMAIL="!@mkdir($parent_folder_path"]!@mkdir($parent_folder_path[/EMAIL], $rights))
user_error("Non é possibile creare la directory "$parent_folder_path".");
}
// qui il nome della directory lo deve prendere da un form
mk_dir('esempio/prova_3/config.php');
mk_dir('esempio/prova_4');
?>Ringrazio comunque e sempre
-
Domanda stupida: prima della seconda esecuzione, cancelli le cartelle che hai creato con la prima?
-
La funzione che hai postato serve per creare tutte le sottodirectory passategli come parametro. Probabilmente ti funziona solo la prima volta perchè la seconda trova la directory esempio già creata.
Per passargli come parametro un parametro di un form è sufficiente che fai un form di tipo post che punta al tuo file con un campo testo:<input type=text name=dir>
e chiami:
mk_dir($_POST['dir']);
-
Ho postato il nome della directory
$dir = strip_tags($_POST['dir']);
// CREO LA CARTELLA
$path = "C:/FoxServ/www/nomedir/";
$all = $path.$dir;
mkdir($all, 0700);
// CARTELLA CREATAGrazie