Go Premium for a chance to win a PS4. Enter to Win


how to echo the number of files in a specific folder using PHP ? or the total size of all the hosted files..

Posted on 2008-06-13
Medium Priority
Last Modified: 2010-04-16
I'm running a file hosting service and i'd like my visitors to see how many files are hosted ... or the total size of the hosted files using PHP ... i'm a total beginner at PHP and i have no idea how 2 do that ... if anyone could help me out i'd really appreciate it

Question by:nkrulez
  • 4
  • 3
LVL 17

Expert Comment

ID: 21781599
Here is a class that does this:

have you used classes before?

Author Comment

ID: 21781728
i'm afraid not

Author Comment

ID: 21781969
i kind of figured out how 2 get the number of files ... now i just need to know how to get the total size of the files in a specific directory ....

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 17

Expert Comment

ID: 21782309
can you post your code for the number of files, so we can just build on it?

Author Comment

ID: 21782629
 $path = 'folder/';
print count(glob($path . '*.*'))

simple as that :)
LVL 17

Accepted Solution

nanharbison earned 2000 total points
ID: 21782953
well, I can't build on that, I was thinking you were outputting the name of each file in the folder.
Try this, there are two functions, one returns the size of the folder, and the other makes the answer readable, instead of something like 322993445 bytes, it gives the answers in appropriate units, kb, mb, etc
function foldersize($path) {
    $total_size = 0;
    $files = scandir($path);
    foreach($files as $t) {
        if (is_dir($t)) { // In case of folder
            if ($t<>"." && $t<>"..") { // Exclude self and parent folder
                $size = foldersize($path . "/" . $t);
                // print("Dir - $path/$t = $size<br>\n");
                $total_size += $size;
        else { // In case of file
            $size = filesize($path . "/" . $t);
            // print("File - $path/$t = $size<br>\n");
            $total_size += $size;
    return $total_size;
function size_readable ($size, $retstring = null) {
        // gives folder size in a readable way
        $sizes = array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
        if ($retstring === null) { $retstring = '%01.2f %s'; }
        $lastsizestring = end($sizes);
        foreach ($sizes as $sizestring) {
                if ($size < 1024) { break; }
                if ($sizestring != $lastsizestring) { $size /= 1024; }
        if ($sizestring == $sizes[0]) { $retstring = '%01d %s'; } // Bytes aren't normally fractional
        return sprintf($retstring, $size, $sizestring);
 $totalfoldersize = foldersize('put the actual path to the folder in here');
 $results = size_readable($totalfoldersize);
 echo $results;

Open in new window


Author Comment

ID: 21784609
it works!! thanks alot

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
This article discusses four methods for overlaying images in a container on a web page
Learn the basics of while and for loops in Python.  while loops are used for testing while, or until, a condition is met: The structure of a while loop is as follows:     while <condition>:         do something         repeate: The break statement m…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
Suggested Courses

877 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question