Ошибка размера файла PHP - PullRequest
       10

Ошибка размера файла PHP

3 голосов
/ 28 августа 2011

Я пытаюсь написать PHP-файл mamanger, и когда я сменил директорию с "." на "../uploads/", размер файла дает мне эту ошибку:

Предупреждение: filesize () [function.filesize]: сбой статистики для zipped-file.zip в /f5/jb-cms-testing/public/edit/files.php в строке 83

Строка 83 - print(filesize($dirArray[$index])); (я знаю, что это не полезно в одиночку, номера строк просто отключатся, когда я вставлю их)

Он точно отображает имя файла, но не размер по какой-то причине.

Это полный скрипт:

            // open this directory 
            $myDirectory = opendir("../uploads/");

            // get each entry
            while($entryName = readdir($myDirectory)) {
                $dirArray[] = $entryName;
            }

            // close directory
            closedir($myDirectory);

            //  count elements in array
            $indexCount = count($dirArray);
            Print ("$indexCount files<br>\n");

            // sort 'em
            sort($dirArray);

            // print 'em
            print("<TABLE border=1 cellpadding=5 cellspacing=0 class=whitelinks>\n");
            print("<TR><TH>Filename</TH><th>Filetype</th><th>Filesize</th></TR>\n");
            // loop through the array of files and print them all
            for($index=0; $index < $indexCount; $index++) {
                    if (substr("$dirArray[$index]", 0, 1) != "."){ // don't list hidden files
                    print("<TR><TD><a href=\"$dirArray[$index]\">$dirArray[$index]</a></td>");
                    print("<td>");
                    print(filesize($dirArray[$index]));
                    print("</td>");
                    print("</TR>\n");
                }
            }
            print("</TABLE>\n");

Ответы [ 2 ]

7 голосов
/ 28 августа 2011

Вы открываете папку ../uploads/ для сканирования файлов, но проверяете размер файла в текущем рабочем каталоге.

Это должно быть полезно:

print(filesize( '../uploads/' . $dirArray[$index]));

То же самое относится и к вашим ссылкам, им нужно исправление пути для работы.

0 голосов
/ 28 августа 2011

Вы читаете каталог на один уровень выше и выше из текущего рабочего каталога (../uploads), затем вызываете filesize() для пустого имени файла, которое ищет файл в текущем рабочем каталоге.

Prepend ../uploads/ до $dirArray[$index] перед вызовом filesize()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...