mkdir con file gia esistente

  • Creatore Discussione Creatore Discussione maced
  • Data di inizio Data di inizio

maced

Utente Attivo
30 Nov 2011
48
0
6
ipotizzo di avere già presente sul mio server un directory denominata Marco Rossi, utilizzando il comando Mkdir per generare un directory ovviamente se passo come parametro Marco Rossi la directory si sovrapporrebbe in quanto gia presente, tramite un comando ricorsivo come posso giungere alla creazione della directory Marco Rossi ( doppio spazio fra nome e cognome )?
 
Ciao, non è consigliato inserire gli spazi nei nomi dei file o delle cartelle,ti conviene sostituirli con gli underscore.
Prova questa funzione:
PHP:
function creaDirectory($name, $n = 0) {
    $path = "" . str_replace(" ", "_", $n > 0 ? $name . "_" . $n : $name);
    if (is_dir($path)) {
        $n++;
        return creaDirectory($name, $n);
    }
    $newDirectory = mkdir($path, 0777);
    return $newDirectory ? $path : false;
}

$newDirectory = creaDirectory("Mario Rossi");

if ($newDirectory) {
    echo "ho creato la directory " . $newDirectory;
} else {
    echo "Errore nella creazione della directory";
}
 
la tua funzione è perfetta solo che io avrei proprio necessita di inserire gli spazi fra nome e cognome per come ho configurato il tutto! ti ringrazio in anticipo
 
Quindi se hai dieci Mario Rossi vuoi dieci spazi tra Mario e Rossi ?
La modifica cmq non è complessa
PHP:
<?php

function creaDirectory($name, $n = 1) {
    $split = explode(" ", $name);
    $path = "" . $split[0];
    for ($i = 0; $i < $n; $i++) {
        $path .= " ";
    }
    $path .= isset($split[1]) ? $split[1] : "_";

    if (is_dir($path)) {
        $n++;
        return creaDirectory($name, $n);
    }
    $newDirectory = mkdir($path, 0777);
    return $newDirectory ? $path : false;
}

$newDirectory = creaDirectory("Mario Rossi");

if ($newDirectory) {
    echo "ho creato la directory " . str_replace(" ", "&nbsp;", $newDirectory);
} else {
    echo "Errore nella creazione della directory";
}
 
Ultima modifica:

Discussioni simili