Visualizzazione risultati 1 fino 5 di 5

Discussione: Problema con "mkdir()"

  1. #1
    Guest

    Predefinito 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è?
    Grazie.
    Ultima modifica di alemoppo : 07-07-2013 alle ore 17.03.23 Motivo: +tag [html] [php]

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,173

    Predefinito

    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!

  3. #3
    Guest

    Predefinito

    Grazie ora la cartella me la crea però la chiama '$nomedir'. Come faccio a dirgli k $nomedir è una variabile?

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,173

    Predefinito

    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!
    Ultima modifica di alemoppo : 07-07-2013 alle ore 17.45.06

  5. #5
    Guest

    Predefinito

    Hai ragione Grazie!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •