Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    creazione e rimozione cartelle

    ho una cartella tipo /public dove l'utente tramite un pannellino puo inserire file e creare cartelle!

    la cartella in questione ha 777 come permessi!

    adesso ho un problema:

    1) quando credo le cartelle con il comando mkdir($path,0777) succede che dall'ftp i permessi non sono 777 ma 755 !.. non capisco perchè.

    2) se provo a rimuovere una cartella con il comando rmdir($path) l'istruzione si comporta in modo strano:

    if (rmdir($path)) {
    echo "Cartella rimossa";
    } else {
    echo "Rimozione cartella fallita, riprovare";
    }

    non mi da nessun messaggio... e naturalmente la cartella non viene rimossa!!..

  2. #2
    scusate, ma non capisco!!

    adesso, subito dopo l'istruzione mkdir($path, 0775) ho messo:

    chmod($path, 0775)

    ... perchè così funziona?? ... non ripeto già i permessi assegnati con l'mkdir?

  3. #3
    un'ultima cosa!

    per l'upload dei file è meglio usare il copy() o move_uploaded_file()?

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    212
    You might notice that when you create a new directory using this code:

    mkdir($dir, 0777);

    The created folder actually has permissions of 0755, instead of the specified
    0777. Why is this you ask? Because of umask(): http://www.php.net/umask

    The default value of umask, at least on my setup, is 18. Which is 22 octal, or
    0022. This means that when you use mkdir() to CHMOD the created folder to 0777,
    PHP takes 0777 and substracts the current value of umask, in our case 0022, so
    the result is 0755 - which is not what you wanted, probably.

    The "fix" for this is simple, include this line:

    $old_umask = umask(0);

    Right before creating a folder with mkdir() to have the actual value you put be
    used as the CHMOD. If you would like to return umask to its original value when
    you're done, use this:

    umask($old_umask);
    move_uploaded_file()

  5. #5
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    puoi agire con i comandi ftp:
    Codice PHP:
    $conn ftp_connect('ftp.miosito.it');
    $Log ftp_login($conn'utente''password');
    ftp_mkdir($conn'/Cartella/';
    ftp_quit($conn); 

  6. #6
    un'altra cosa, forse dovrei postare nella sezione LINUX ma voglio provare a chiedere consiglio a voi.

    tutti i file che vengono uploadati su un determinato Account/alias FTP, la loro dimensione, quindi lo spazio utilizzato sul Virtual Server non viene allocato per questo stesso alias, ma per l'alias generico WEB che esiste sul server Apache, da cosa dipende??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.