Php 从文件大小小于40kb的指定目录返回文件

Php 从文件大小小于40kb的指定目录返回文件,php,filesize,glob,Php,Filesize,Glob,我想选择文件格式目录,其中文件大小小于100kb。请检查我的代码,它不工作 <?php ob_start(); $dir = '/home/couponsc/public_html/testfile'; $ext = '.mp3'; $search = $_GET['s']; $results = glob("$dir/*$search*$ext"); foreach($results as $item) { $sizes= filesize($item

我想选择文件格式目录,其中文件大小小于100kb。请检查我的代码,它不工作

<?php
ob_start();
$dir = '/home/couponsc/public_html/testfile';
$ext = '.mp3';
$search = $_GET['s'];
$results = glob("$dir/*$search*$ext");

    foreach($results as $item) 
    {
        $sizes= filesize($item);
        if($sizes < 100);
        {               
            echo $item;             
        }

    }   



?>

如果($size<100)
if子句->空语句后有一个分号

foreach($results as $item) {
    $sizes= filesize($item);
    if($sizes < 40*1024) {
        echo $item, "\n";
    }
} 
foreach($results as$item){
$sizes=文件大小($item);
如果($size<40*1024){
回显$item“\n”;
}
} 
或者使用更多的/fun+递归:

<?php
$path = 'c:/temp';
$it = new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator($path),
    RecursiveIteratorIterator::LEAVES_ONLY
);

$it = new FooFilterIterator($it, function($e) { return $e->getSize(); }, function($e) { return $e < 40*1024; } );

foreach($it as $f) {
    printf("% 6d %s\n", $f->getSize(), $f);
}

class FooFilterIterator extends FilterIterator {
    protected $getter;
    protected $filter;

    public function __construct(Iterator $source, $getter, $filter) {
        parent::__construct($source);
        $this->getter = $getter;
        $this->filter = $filter;
    }

    public function accept() {
        $f = $this->filter;
        $g = $this->getter;
        return $f( $g($this->current()) );
    }
}
函数
filesize()
返回字节,而不是千字节,因此您的条件不起作用

正确的条件是:

if($sizes < 102400);
if($size<102400);

filesize()
返回字节,而不是KB,您需要放入
$size<100*1024
。添加此项后,它会显示小于或大于100KB的所有文件,所以它会显示所有文件?
filesize($item)
是否返回
false
?您可能需要在
文件大小($dir./'.$item)
中将
$dir
预先添加到
$item
。我想删除所有文件大小等于44kbRight的文件,如果基本循环和文件大小查询正在工作,这就足够简单了,这就是您在代码中尝试实现的。它能用吗?回答得好,比我快!!我还打算建议进行RDI。是的,但这只是有趣的部分-需要更多的解释才能有所帮助;-)