Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    267

    applicazione per permessi a cartella

    salve,
    come posso dare i permessi ad una cartella attraverso una piccola applicazione simile a questa:

    <?
    if (chmod("/tuacartella/tuofile", 0777))
    print 'permessi cambiati';
    else
    print 'errore!';
    ?>

    Dovrei dare i permessi ad una cartella e non ad un unico file.
    Qualcuno mi può aiutare per favore

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    121
    Beh dovresti implementare la ricorsione con una funzione che legge ogni file dalla cartella e gli cambia il chmod.. oppure usare la scorciatoia con shell_exec, che ti fa eseguire un comando sulla shell, a quel punto puoi fare direttamente per esempio:

    $output=shell_exec("chmod -r 777 nomecartella");

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    267
    l'applicazione è dentro la cartella html, ho provato così:

    <?php
    $output=shell_exec("chmod -r 755 html");
    ?>

    l'ho lanciato ma mi compare quest'errore:

    Warning: shell_exec(): Cannot execute using backquotes in Safe Mode in etc.....

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    121
    Non puoi eseguire il comando se hai l'opzione safemode=on impostata nel php.ini..

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    267
    avevo provato anche con questa funzione:
    chmod("html",0777);
    ma non funziona, dici che il problema anche qua è per il file .ini?

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    121
    No lì per quanto ne so io il problema è che con la funzione chmod di php non puoi cambiare i permessi ad una intera cartella in maniera ricorsiva, se non puoi modificare il php.ini penso che dovrai fare un ciclo e modificarli uno a uno

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    267
    avevo letto questo post:
    http://forum.html.it/forum/showthrea...ssi+a+cartella

    credo sia lo stesso problema mio e provato anche con mkdir:

    mkdir("../ufiles/mcrdvc06/{$directory}",0777);
    chmod("../ufiles/mcrdvc06/{$directory}",0777);

    Come potrei fare dato che non posso cambiare il file .ini?

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    121
    Tra l'altro a questo punto dovresti contattare anche l'amministratore del server per chiedergli se puoi fare un'operazione del genere via script.. ma provi a modificare i permessi di un singolo file con chmod che succede?

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    267
    per l'amministratore del server non ci sono problemi solo che questa cosa che non funziona mi suona veramente strana. Sono corrette le funzioni che ho scritto? ci può essere qualche altra soluzione per cambiare semplicemente i permessi ad una cartella o a tutti i file in essa contenuti?

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    121
    prova così:

    function permessi($dir)
    {
    if ($handle= opendir($dir)) #apro la cartella
    {
    while ($file = readdir($handle)) #leggo tutti i files
    if (is_dir ($file)) #è una cartella chiamo ricorsivamente la funzione
    permessi($file)
    else
    chmod($file, 0777); #altrimenti è un file e modifico i permessi

    closedir($handle);
    }
    }


    l'ho scritta così su due piedi potrebbe non essere perfetta..

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.