-
Problema con "mkdir()"
Ciao a tutti,
ho provato a utilizzare la funzione mkdir() per creare una cartella.
Con un form ho creato un input di testo di nome namedir:
Codice HTML:
<form enctype="multipart/form-data" action="mkdir.php" method="post">
Crea una cartella: <input type="text" name="namedir" value="Inserisci nome">
<br><input type="submit" name="Crea" value="Crea">
</form>
Script mkdir.php:
Codice PHP:
<?php
$nomedir = mysql_real_escape_string($_POST['namedir']);
if ($nomedir == ""){
echo "Inserisci il nome";
}
else{
if (mkdir (upload/$nomedir, 0777))
{
echo "Cartella creata";
}
else {
echo "Errore!";
}
}
?>
<script language="javascript">
top.location.href = "index.php";
</script>
E' la prima volta che utilizzo questa funzione.
Una volta inserito il nome mi scrive "Errore!" qualcuno sa dirmi perchè?:confused:
Grazie.:=):
-
Probabilmente non devi passare alla mkdir() il rapporto tra "upload" e $nomedir. Rendi il parametro una stringa: mettici gli apici.
Infine, assicurati che la cartella "upload" esista già.
Ciao!
-
Grazie ora la cartella me la crea però la chiama '$nomedir'. Come faccio a dirgli k $nomedir è una variabile?
-
Perché hai usato i singoli apici.
Codice PHP:
$stringa = 'ciao';
$var1 = 'stringa $stringa'; //stringa $stringa
$var2 = "stringa $stringa"; //stringa ciao
$var3 = 'stringa'.$stringa; //stringa ciao
In generale, sarebbe meglio usar i singoli apici perché PHP non deve andar a controllare se ci sono eventuali variabili da sostituire (quindi fa infinitesimamente più veloce), però quando vuoi che sostituisca le variabili, ovviamente non va bene :)
Ciao!
-