Reputation: 71
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
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
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