如何根据文件类型

时间:2015-12-07 15:51:11

标签: php

我有一个脚本可以扫描目录中指定目录中的文件/文件夹。

我将代码上传到github因为它太长而无法发布在此处:https://gist.github.com/seby1995/deda163eacb0ebdccac8

如果我运行$ currentDir设置为“./”的脚本,它将显示(该脚本位于xampp中的htdocs / final1中):

Type     Name                        File Size
Folder   website_data_collecting     10.39 KB
Folder   uploads                     78.13 MB
Folder   test                        8.96 KB
Folder   php                         1.88 KB
Folder   path                        0 B
Folder   db_test                     359 B
Folder   css                         5.41 KB
Folder   Forms                       3.35 KB
File     register.php                5.24 KB
File     recordstat.php              248 B
File     no.php                      2.39 KB
File     login.php                   2.91 KB
File     linkSys.php                 3.14 KB
File     layout.css                  1.58 KB
File     index.php                   2.18 KB 
File     genpage.php                 2.81 KB
File     forms.php                   515 B
File     dir_nav.php                 2.22 KB
File     addtest.php                 314 B

当我将$ currentDir更改为“/ uploads”时,它会打印出来:

Type     Name                        File Size
File     screenshot.png              B
File     Untitled.wma                B
File     Thumbs.db                   B

警告:第39行的C:\ Users \ Sebastian \ Desktop \ xampp \ htdocs \ final1 \ dir_nav.php中的screenshot.png的filesize():stat失败

警告:第39行的C:\ Users \ Sebastian \ Desktop \ xampp \ htdocs \ final1 \ dir_nav.php中的Untitled.wma的filesize():stat失败

警告:第39行的C:\ Users \ Sebastian \ Desktop \ xampp \ htdocs \ final1 \ dir_nav.php中的Thumbs.db的filesize():stat失败

从我认为出错的是我的代码中的getfilesize函数没有转换视频或图片(DUH),但我不知道如何解决它,有人可以帮助我它强调我,一直坐在这里看着它几个小时,现在试图解决它。

1 个答案:

答案 0 :(得分:1)

检查是否将目录路径变量连接到文件名:

filesize($uploadRelativePath . '/' . $filename);

另一方面,如果要为位于其他目录中的另一个文件调用脚本,则将相对于调用者解析所有相对路径。在这种情况下,必须连接脚本文件路径:

filesize(__DIR__ . '/' . $uploadRelativePath . '/' . $filename);