if($sizes < 100);
를 작동하지 않는 사용자의 경우 절 후에는 세미콜론이 내 코드를 확인하시기 바랍니다.
foreach($results as $item) {
$sizes= filesize($item);
if($sizes < 40*1024) {
echo $item, "\n";
}
}
또는 약간 spl/lambda 더 재미 + 재귀
는 :
<?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()));
}
}
또한 GlobIterator있다.
'파일 크기()'반환 바이트가 아닌 KB, 당신은'$ 크기 <100 * 1024'을 넣고 싶을 것이다. – Orbling
이 파일을 추가 한 후 100kb 미만의 모든 파일 표시 –
모든 파일이 표시됩니까? 'filesize ($ item)'이'false'를 반환합니까? 'filesize ($ dir. '/'. $ item)'에'$ dir'을'$ item' 앞에 추가해야 할 수도 있습니다. – Orbling