백엔드 개발 PHP 튜토리얼 这个程序为何不能遍历文件夹下的所有文件和文件夹

这个程序为何不能遍历文件夹下的所有文件和文件夹

Jun 13, 2016 pm 12:50 PM
dirname file nbsp

这个程序为什么不能遍历文件夹下的所有文件和文件夹?
下面是一个计算文件夹下面所有文件及文件夹大小的程序,我让它计算文件夹‘znb1’的大小,此文件夹下面
的结构为
znb1/.buildpath,
znb1/.project,
znb1/223/s.php,
znb1/settings/newfile.php,
znb1/settings/org.eclipse.php.core.prefs
程序运行后只计算出znb1/.buildpath和znb1/.project两个文件的大小
这是为什么?我用的软件为wampserver和editplus程序如下:


function dirsize($dirname) {
$dir = opendir ( $dirname );
while ( ($file = readdir ( $dir )) !== FALSE ) {
$filename=$dirname.'\\'.$file;
if ($file != '.' && $file != '..') {

if (is_dir ( $file )) {

$count += dirsize ( $file );
} else {
$count += filesize($filename);
}
}
}
return $count;
}
echo dirsize ( 'znb1' );

?>


------解决方案--------------------
if (is_dir ( $filename )) {
如果是$file,那么对于这个相对路径,将在当前目录下寻找。未找到自然报false
------解决方案--------------------
set_time_limit(0);
function dirsize($dirname) {
if (is_dir($dirname)) {
$dir = opendir ($dirname);
if ($dir != false) {
while ( ($file = readdir ($dir)) !== FALSE ) {
$filename = $dirname.'\\'.$file;
if (is_file($filename)){
$count[] = filesize($filename)."@".$filename;
} else if (is_dir($filename)){
if ($file != "." && $file != "..") {
dirsize($filename);
}
}
}
}

return $count;
} else {
return false;
}
}
$path = "D:\APMServ5.2.6\www\htdocs\localhost";
$c = dirsize($path);
var_dump($c);
+-----------------------------+
修改了一下,可以计算了,相对路劲没测试过!参考下吧!
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

해결 방법: 조직에서 PIN 변경을 요구합니다. 해결 방법: 조직에서 PIN 변경을 요구합니다. Oct 04, 2023 pm 05:45 PM

해결 방법: 조직에서 PIN 변경을 요구합니다.

Windows 11에서 창 테두리 설정을 조정하는 방법: 색상 및 크기 변경 Windows 11에서 창 테두리 설정을 조정하는 방법: 색상 및 크기 변경 Sep 22, 2023 am 11:37 AM

Windows 11에서 창 테두리 설정을 조정하는 방법: 색상 및 크기 변경

Windows 11에서 제목 표시줄 색상을 변경하는 방법은 무엇입니까? Windows 11에서 제목 표시줄 색상을 변경하는 방법은 무엇입니까? Sep 14, 2023 pm 03:33 PM

Windows 11에서 제목 표시줄 색상을 변경하는 방법은 무엇입니까?

Windows 11에서 작업 표시줄 축소판 미리 보기를 활성화 또는 비활성화하는 방법 Windows 11에서 작업 표시줄 축소판 미리 보기를 활성화 또는 비활성화하는 방법 Sep 15, 2023 pm 03:57 PM

Windows 11에서 작업 표시줄 축소판 미리 보기를 활성화 또는 비활성화하는 방법

Windows 11/10 복구의 OOBELANGUAGE 오류 문제 Windows 11/10 복구의 OOBELANGUAGE 오류 문제 Jul 16, 2023 pm 03:29 PM

Windows 11/10 복구의 OOBELANGUAGE 오류 문제

Windows 11의 디스플레이 크기 조정 가이드 Windows 11의 디스플레이 크기 조정 가이드 Sep 19, 2023 pm 06:45 PM

Windows 11의 디스플레이 크기 조정 가이드

Windows 11에서 밝기를 조정하는 10가지 방법 Windows 11에서 밝기를 조정하는 10가지 방법 Dec 18, 2023 pm 02:21 PM

Windows 11에서 밝기를 조정하는 10가지 방법

Safari에서 iPhone의 개인 브라우징 인증을 끄는 방법은 무엇입니까? Safari에서 iPhone의 개인 브라우징 인증을 끄는 방법은 무엇입니까? Nov 29, 2023 pm 11:21 PM

Safari에서 iPhone의 개인 브라우징 인증을 끄는 방법은 무엇입니까?

See all articles