duandu1049
duandu1049
2015-05-26 15:42

Laravel - 从字符串路径获取文件实例

My laravel application successfully uploads and stores my files where I want them to. However, I don't want to store the public url of the file in the database, and instead get them on the fly (they're stored in my public directory) and show a list of links to the uploads.

How can I retrieve File objects from just the strings returned by File::files(public_path() . "/files/uploads"); so I can get the name, size, modified date, etc?

Thanks in advance for any help!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • dshnx48866 dshnx48866 6年前
    foreach (File::allFiles($directory) as $file)
    {
        /* $file should be a Symfony\Component\Finder\SplFileInfo object */
        $file->getSize();
        $file->getFilename();
        $file->getType();
    }
    

    Documentation for the SplFileInfo. (Thanks @Bogdan!)

    点赞 评论 复制链接分享
  • duanbei7035 duanbei7035 6年前

    You can do the following:

    foreach (File::files(public_path() . '/fonts') as $path)
    {
        File::size($path);         // file size
        File::name($path);         // file name (no extension)
        File::extension($path);    // file extension
        File::mimeType($path);     // file mime type
        File::lastModified($path); // file last modified timestamp
        // and so on...
    }
    

    You can see all methods available in the Illuminate\Filesystem\Filesystem class API.

    点赞 评论 复制链接分享

相关推荐