Visualizzazione risultati 1 fino 7 di 7

Discussione: PHP - Creare nuova directory

  1. #1
    Guest

    Question PHP - Creare nuova directory

    Allora, ho bisogno che PHP mi crei un file in una nuova directory.
    Qui il codice PHP che provo ad usare:
    Mi deve creare una cartella il cui nome è contenuto nella variabile $title, nella cartella art.
    Codice:
    $title = ciao
    $nome_file = ciao.txt
    $var=@fopen('art/'.$title.'/title_'.$nome_file, "x");
    @fwrite ($var,$title);
    @fclose ($var);
    Dove sbaglio? Grazie!!
    Ultima modifica di TIGsFilesAcademy : 26-10-2013 alle ore 20.09.39

  2. #2
    Guest

    Predefinito

    Ciao, per creare una cartella devi usare mkdir().

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da noktalk Visualizza messaggio
    Ciao, per creare una cartella devi usare mkdir().
    Lo so, ma anche quella funzione non mi funziona, per lo stesso motivo dell'altra, credo...

  4. #4
    Guest

    Predefinito

    Allora potrebbe essere un problema di permessi sulla cartella art: puó darsi che PHP non abbia i permessi di scrittura su questa. Prova ad impostarli a 0777 (ma credo che anche 0666 vada bene) e togli anche gli @ davanti a fopen e fwrite, magari viene fuori qualche warning utile :)

  5. #5
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    fopen non crea anche le directory mentre mkdir si. Se mkdir non ti crea la directory potrebbe essere perchè manca anche la cartella "art" e quindi potresti utilizzare il recursive della funzione che impone a PHP di creare tutte le cartelle interessate:

    Codice PHP:
    mkdir("art/".$title,null,true);
    Ultima modifica di miki92 : 27-10-2013 alle ore 20.46.03
    Apprezzi l'aiuto? Offrimi un caffè!

  6. #6
    Guest

    Question

    Citazione Originalmente inviato da noktalk Visualizza messaggio
    Allora potrebbe essere un problema di permessi sulla cartella art: puó darsi che PHP non abbia i permessi di scrittura su questa. Prova ad impostarli a 0777 (ma credo che anche 0666 vada bene) e togli anche gli @ davanti a fopen e fwrite, magari viene fuori qualche warning utile :)
    OK, la cartella ora la riesco a creare (usavo mkdir, con 0777, mentre non va messo). Però ora non so come far creare a fopen() un file in una directory diversa da quella dove si trova il documento.
    Ho anche provato con RENAME(), ma non funziona :[

  7. #7
    Guest

    Predefinito

    Se non ho capito male, stai dicendo che il codice
    Codice PHP:
    $file = fopen('art/' . $title . '/title_' . $nome_file, "x");
    non ti funziona perché il file da cui lo esegui si trova in una posizione diversa da quella in cui si trova la cartella art, giusto?

    Se è così la cosa migliore da fare è usare i percorsi assoluti. Se per esempio il tuo script si trova nella root del sito potrai scrivere:
    Codice PHP:
    $file = fopen(dirname(__FILE__) . '/art/' . $title . '/title_' . $nome_file, "x");
    Se invece si trova nella cartella /xx dovrai scrivere:
    Codice PHP:
    $file = fopen(dirname(dirname(__FILE__)) . '/art/' . $title . '/title_' . $nome_file, "x");
    In questi esempi ho supposto che art si trovi nella root del sito.

    Se non è così allora non ho capito la tua domanda...

Tags for this Thread

Regole di scrittura

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