限制文件夹中的文件数

I have a folder name /clientupload/ in my host. I want to limit the number of files in clientupload folder and its sub-folder to total 200.

I dont have any idea how to do that!

you can check (via php) amount of files in folder before letting the user upload the file

ive changes this to work with sub-folder.

for example (you might need to change a bit didnt run this....) :

<?php

  define("MAX_UPLOAD_AMOUNT", 200);
  //switch to your dir name
  $dirName = "/Temp/";
  //will count number of files
  $totalFileAmount = countFiles($dirName);

function countFiles($dirName){


    $fileAmount = 0;
  //open dir
  $dir = dir($dirName);

  //go over the dir
  while ($file = $dir->Read()){
    //check there are no .. and . in the list
    if (!(($file == "..") || ($file == "."))){
        //check if this is a dir
        if (Is_Dir($dirName . '/' . $file)){
            //yes its a dir, check for amount of files in it 
            $fileAmount += countFiles($dirName . '/' . $file);
        }
        else{
        //its not a dir, not a .. and not a . so it must be a file, update counter
        $fileAmount++;
        }
    }
  }

  return $fileAmount;
}

    //check if user can upload more files
    if ($totalFileAmount >= MAX_UPLOAD_AMOUNT)
        echo "You have reached the upload amount limit, no more uploaded";
    else
        echo "let the user upload the files, total number of files is $totalFileAmount"; 

  ?>

I Have found a working solution on my own! You can try the below code. 200 is the file limit which you can change!

<?php

define("MAX_UPLOAD_AMOUNT", 200);

function scan_dir($path){
    $ite=new RecursiveDirectoryIterator($path);

    $bytestotal=0;
    $nbfiles=0;
    foreach (new RecursiveIteratorIterator($ite) as $filename=>$cur) {

        $nbfiles++;
        $files[] = $filename;
    }

    $bytestotal=number_format($bytestotal);

    return array('total_files'=>$nbfiles,'files'=>$files);
}

$files = scan_dir('folderlinkhere');

if ($files['total_files'] >= MAX_UPLOAD_AMOUNT)
        echo "Files are more than 200.  ";
    else
             echo "Carry out the function when less than 200";
?>