PHP:随机读取文件

WBOY
WBOYasal
2016-06-06 20:45:091646semak imbas

某个目录下有10000个txt文件,现在想随机读取其中的100个,可以怎么实现呢?

回复内容:

某个目录下有10000个txt文件,现在想随机读取其中的100个,可以怎么实现呢?

遍历所有文件,生成文件名数组,array_rand从里面随机抽取,然后你就可以一一打开文件阅读了。

效率不高,可以试着保存文件名列表

  1. 无索引的文件只能先遍历得到索引才好随机。glob官方函数测试了下10000个文本文件大约耗时0.25s,有点长,不过也还好了。索引之后从0-10000中随机取100个数字就好了。另外得到索引可以保存下来方便下次使用,每次增加文件的时候重新生成索引就好了。
  2. 可以重命名文件的话把文件按照1,2,3,4,...10000.txt重命名好直接随机取1-10000中的100个数就好叻。
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn