я пытаюсь сделать джейсон из файлов и их размер, он отлично работает для каталога, в котором сохранен этот php-файл, но когда я меняю каталог, размер файла() возвращает false. это отлично работает:
<?php
header('Content-Type: application/json');
$dir= "./"; //path
$list = array(); //main array
if (is_dir($dir)){
if ($dh = opendir($dir)){
while(($file = readdir($dh)) != false){
if ($file == "." or $file == ".."){
//...
} else { //create object with two fields
$list3 = array(
'file' => $file,
'size' => filesize($file));
array_push($list, $list3);
}
}
}
$return_array = array('files'=> $list);
echo json_encode($return_array);
}
?>
но это не работает:
<?php
header('Content-Type: application/json');
$dir= "Syllabus/Undergraduate Courses/BCA/Semester 1"; //path
$list = array(); //main array
if (is_dir($dir)){
if ($dh = opendir($dir)){
while(($file = readdir($dh)) != false){
if ($file == "." or $file == ".."){
//...
} else { //create object with two fields
$list3 = array(
'file' => $file,
'size' => filesize($file));
array_push($list, $list3);
}
}
}
$return_array = array('files'=> $list);
echo json_encode($return_array);
}
?>
сообщение об ошибке:
Предупреждение: размер файла (): ошибка статистики для Communicat_GeneralEnglish1stSemsterCopyCopy2Copy.pdf в C:\xampp\htdocs\колледж\listFiles.php в строке 17
Предупреждение: png(): статистика не удалась для экологических исследований_AECC-Environment-Studies-BCA.pdf в C:\xampp\htdocs\колледж\listFiles.php в строке 17
Предупреждение: png(): статистика не выполнена для базового курса по компьютерам_B.CA_.pdf в C:\xampp\htdocs\колледж\listFiles.php в строке 17
Предупреждение: размер файла (): ошибка статистики для Fundamentals Of Mathematics_B.CA_.3.pdf в C:\xampp\htdocs\колледж\listFiles.php в строке 17
Предупреждение: размер файла (): ошибка статистики для решения проблем и программирования с помощью C_B.CA_.2.pdf в C:\xampp\htdocs\колледж\listFiles.php в строке 17
{"files":[{"file":"Communicat_GeneralEnglish1stSemsterCopy2Copy.pdf","size":"0 байт"},{"file":"Environmental Studies_AECC-Environment-Studies-BCA.pdf","size":" 0 байт"},{"файл":"Базовый курс по компьютерам_B.CA_.pdf","размер":"0 байт"},{"файл":"Основы математики_B.CA_.3.pdf","размер ":"0 байт"},{"файл":"Решение проблем и программирование с помощью C_B.CA_.2.pdf","размер":"0 байт"}]}
Добавлено сообщение об ошибке
readdir дает вам имена файлов без пути. filesize, вероятно, требуется имя файла вместе с относительным или абсолютным путем. например filesize($dir . '/' . $file)) или аналогичный.
Большое спасибо!!! это сработало






Проверьте свои журналы ошибок, при ошибке размер файла должен выдать предупреждение.