可能还有其他方法可以做到这一点,但我正在寻找一种相当简单的设置,因为它基本上是一个一次性的过程。
我有 50 个状态目录,每个目录中有几个 txt 文件。
我想进入每个目录,“读取”每个文件(然后对每个文件进行 mysql 插入)
我尝试了一些变体,但是每次我尝试循环并使用 readfile 或 file_get_contents 时,它都会在第一个文件之后中断,并且我无法打开流:列表其余部分的错误。
我已经搜索了在循环中使用这些函数的陷阱,期待许多不这样做的原因,但没有得到答案。
谢谢回来添加示例代码 - 我看到列出了一个答案,所以我也会检查一下。(这些都不是我的,我只是随便找了个抓文件列表的函数)
函数 listFilesInDir($start_dir) { /* 返回 $start_dir 中的文件数组(非递归) */ $files = 数组(); $dir = opendir($start_dir); 而(($myfile = readdir($dir)) !== false) { if($myfile != '.' && $myfile != '..') { $文件[] = $我的文件; } } 关闭($dir); 返回$文件; } $dir = '路径/到/文件'; $Docs = listFilesInDir($dir); foreach($Docs as $key => $fileName) { // 这里是我尝试使用 file_get_contents 的地方 $content = file_get_contents($fileName); //即使做一个回显作为测试也会在第一个文件之后破坏它 回声$内容; //最终我会在这里为mysql做INSERT INTO }