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

    Controllo dimensione cartella utente

    Salve,
    ho un problema che non riesco a risolvere.

    Vi spiego la situazione:

    Nello spazio web del mio sito ho varie cartelle degli utenti che sono registrati. Ogni utente ha dentro la sua cartella altre sottocartelle e dei file.
    Io devo controllare che il contenuto della cartella dell'utente X non superi i 10mega.
    Come posso fare?
    Ho visto alcune funzioni, ma non ho capito molto.

    Sapete aiutarmi?

    Grazie.

  2. #2

  3. #3
    Sto provando quello script, ma mi restituisce questo:

    la dimensione della cartella pippo è 3.18501301722E-013 bytes

    Ho solo aggiunto queste due righe, per trasformare i byte in mb:

    closedir($handle);
    $tot2 = $tot/1024;
    $tot3 = $tot2/1024;
    $tot = $tot3;
    return $tot;

    Dipende dal modo in cui è dichiarata la variabile $tot?

    Grazie

  4. #4
    Sto utilizzando questa funzione:

    codice:
    function dimensione($dir) {
      if (substr($dir,-1) != "/")
        $dir.="/";
    
      $tot = 0; //azzero il contatore
    
      $handle = opendir($dir); //apro la directory
    
      while($file = readdir($handle)) {//la leggo ciclicamente fino alla fine
        if ($file != "." && $file != "..")
          $tot += is_dir($dir.$file) ? 
                  dimensione($dir.$file) :
                  filesize($dir.$file);
      }
    
      closedir($handle);
      //$tot2 = floor($tot / 1024);
      //echo "
    $tot2
    ";
      //$tot3 = floor($tot2 / 1024);
      //$tot = floor($tot3);
      return $tot = floor($tot / 1024 / 1024);
    }
    E la richiamo con questo:

    codice:
    echo "la dimensione della cartella pippo è ".dimensione("./upload/90002")." bytes";
    Mi mostra sempre zero come risultato.
    Sapete dove sta l'errore?

    Grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    17
    Se sei su un sistema linux puoi usare un system con il comando `du -sm <cartella>` che ti restituisce lo spazio occupato in megabyte...

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    system() e' disabilitata in quasi qualunque hosting serio
    There are 10 types of people in the world - those who understand binary and those who don't.

  7. #7
    Il sito è su Dominiando, e non è su OS linux ma su Windows Server 2003 (credo).

    Come posso risolvere la questione?

    Grazie!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.