theabstractdev
theabstractdev

Reputation: 71

Check if folder is empty or not php

I have to check if my folder asset/files is empty or not to show a message for create a new file or list all files in my folder.. but my folder is empty and i got the message "You got files"..

<?php
 /**
 * FileExist
 * check files
 * @return no
 */
public function fileExist()
{
    $open = "../asset/files";

    if (scandir($open)) {
        echo "`You got files";
        print_r(scandir($open));
    } else {
        echo "You haven't got files";
    }
}
?>

Upvotes: 6

Views: 5930

Answers (2)

0xwaleed
0xwaleed

Reputation: 124

This should work for you and its a easy method to check the folder is empty or not. First i scan the directory by using scandir() function of php and then count the scan dir. if its equal to 2 then its mean there is no file in the folder and if its greater or less than 2 then its mean there is file in the folder

$scan = scandir($dir);

if(count($scan)!=2){
echo 'you have files';
}

}else{
echo 'there is no file in directory';
}

Upvotes: -1

Rizier123
Rizier123

Reputation: 59681

This should work for you:

(Here I just use glob() to get all files of the directory and check if it is empty or not. Your method didn't worked, because scandir() also includes . and ..)

public function fileExist()
{
    $open = "../asset/files";

    if ($files = glob($open . "/*")) {
        echo "You got files";
        print_r($files);
    } else {
        echo "You haven't got files";
    }
}

Upvotes: 11

Related Questions