如何使用Laravel读取目录中的所有文件内容

Mahdi Alikhani

我的目录中有很多文件,我想读取所有文件并将其保存在数据库中。我知道该怎么做,但我知道的方式是所有文件内容将同时加载到内存中,Web应用程序将失效。我倾向于设置一些限制,例如它同时读取300个文件,然后再读取接下来的300个文件。如您所见,我这里有736个文件。

在此处输入图片说明

这是我的示例文件内容: 在此处输入图片说明

我正在使用此代码拆分它们。

    foreach ($contents as $content) {
        $slice = preg_split("/\\r\\n|\\r|\\n/", $content);
    }

结果: 在此处输入图片说明

库尔特男修道士

您可以使用laravel的文件系统和Storage门面来实现此目的:

$files = Storage::disk('public')->files('path/to/files');

foreach ($files as $file) {
    $contents = Storage::disk('public')->get($file);
    // Save contents to DB;
}

您还可以通过构建一系列内容来分批处理它们

$files = Storage::disk('public')->files('path/to/files');
$contents = [];
$toMove = [];

foreach ($files as $file) {
    $content = Storage::disk('public')->get($file);
    $slice = preg_split("/\\r\\n|\\r|\\n/", $content);
    
    $contents[] = [
         'metadata' => $slice[0],
         'data1' => $slice[1],
         'data2' => $slice[2],
         'data3' => $slice[3],
    ];
    
    $toMove[] = $file;

    if (count($contents) === 10) {
        DB::table('informations')->insert($contents);

        foreach($toMove as $file) {
            Storage::disk('public')
                ->move($file , 'done/'.Str::of($file)->after('/')); 
        }

        $contents = [];
        $toMove = [];
    }
}

if (count($contents)) {
    DB::table('informations')->insert($contents);

    foreach($toMove as $file) {
        Storage::disk('public')
            ->move($file , 'done/'.Str::of($file)->after('/')); 
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从目录读取所有文件内容-PHP

来自分类Dev

读取目录中的所有属性文件

来自分类Dev

如何重定向子文件夹以从主目录读取所有代码?子文件夹中的源代码相似,但内容不同

来自分类Dev

SFTP读取目录中的所有文件

来自分类Dev

如何使用pandas读取目录中所有文件的内容?

来自分类Dev

使用Python从目录中读取所有csv文件

来自分类Dev

R读取目录中的所有文件

来自分类Dev

如何使用Elixir编译目录中的所有SASS文件?

来自分类Dev

如何使用javafx从目录中获取所有文件

来自分类Dev

从目录读取所有文件

来自分类Dev

如何读取目录中的所有文件并使用cat命令显示它们?

来自分类Dev

如何使用grep查找目录中的所有zip文件?

来自分类Dev

如何使用python动态列出目录中的所有文件?

来自分类Dev

在python中读取当前目录中所有文件的内容

来自分类Dev

使用`purrr:map()`读取目录中的所有csv文件

来自分类Dev

如何从目录读取所有.log文件

来自分类Dev

如何使用Streams从目录中逐行读取所有文件?

来自分类Dev

从目录读取所有文件

来自分类Dev

如何读取目录中的所有文件并使用cat命令显示它们?

来自分类Dev

如何使用grep查找目录中的所有zip文件?

来自分类Dev

使用终端将内容/文件复制到目录中的所有子目录

来自分类Dev

如何在每个列表的目录中检索目录中所有文件的内容?

来自分类Dev

如何使用vim打开当前目录和所有子目录中的所有文件?

来自分类Dev

如何使用rclone删除远程目录中的所有文件?

来自分类Dev

如何删除目录中没有特定文件夹及其内容的所有内容

来自分类Dev

如何使用ffmpeg转码目录中的所有文件

来自分类Dev

如何读取目录中具有指定ext的所有文件?

来自分类Dev

如何使用bash查找目录中的所有文件路径

来自分类Dev

如何在 Google Drive 的 appfolder 中列出所有孩子并使用 Xamarin/c# 读取文件内容?

Related 相关文章

  1. 1

    从目录读取所有文件内容-PHP

  2. 2

    读取目录中的所有属性文件

  3. 3

    如何重定向子文件夹以从主目录读取所有代码?子文件夹中的源代码相似,但内容不同

  4. 4

    SFTP读取目录中的所有文件

  5. 5

    如何使用pandas读取目录中所有文件的内容?

  6. 6

    使用Python从目录中读取所有csv文件

  7. 7

    R读取目录中的所有文件

  8. 8

    如何使用Elixir编译目录中的所有SASS文件?

  9. 9

    如何使用javafx从目录中获取所有文件

  10. 10

    从目录读取所有文件

  11. 11

    如何读取目录中的所有文件并使用cat命令显示它们?

  12. 12

    如何使用grep查找目录中的所有zip文件?

  13. 13

    如何使用python动态列出目录中的所有文件?

  14. 14

    在python中读取当前目录中所有文件的内容

  15. 15

    使用`purrr:map()`读取目录中的所有csv文件

  16. 16

    如何从目录读取所有.log文件

  17. 17

    如何使用Streams从目录中逐行读取所有文件?

  18. 18

    从目录读取所有文件

  19. 19

    如何读取目录中的所有文件并使用cat命令显示它们?

  20. 20

    如何使用grep查找目录中的所有zip文件?

  21. 21

    使用终端将内容/文件复制到目录中的所有子目录

  22. 22

    如何在每个列表的目录中检索目录中所有文件的内容?

  23. 23

    如何使用vim打开当前目录和所有子目录中的所有文件?

  24. 24

    如何使用rclone删除远程目录中的所有文件?

  25. 25

    如何删除目录中没有特定文件夹及其内容的所有内容

  26. 26

    如何使用ffmpeg转码目录中的所有文件

  27. 27

    如何读取目录中具有指定ext的所有文件?

  28. 28

    如何使用bash查找目录中的所有文件路径

  29. 29

    如何在 Google Drive 的 appfolder 中列出所有孩子并使用 Xamarin/c# 读取文件内容?

热门标签

归档