最近一个项目中,有一个读取某个文件夹下所有文件的成果。利用了ThinkPHP + layui,当地测试没有问题,到客户那边发明速度奇慢,需要10秒以上才气读取完毕。 经相同发明一个文件夹有1000+ 个文件,客户之前有一套asp的老系统,1000多个 文件也能实现秒开。。。
一时竟然没有头绪,莫非 PHP 不如 ASP快 ??因为项目中代码太多,编写单独的代码测试。files/1000目次存放了 1428个文件测试。
test.asp的源码如下:
set fso = server.createobject("Scripting.FileSystemObject") set fpo = fso.getFolder(server.mappath("files/1000")) for each x in fpo.files response.write x.name & "<br />" next
test.php的源码如下:
<?php foreach( scandir('files/1000') as $f ){ echo "${f}<br>"; }
Windows文名是GBK编码的,想要前后端疏散,将文件名通过JSON返回前台,还需要将文件名改为UTF-8编码,为了公正,比拟加上UTF8转换时间。test_utf8.php的源码如下:
<?php foreach( scandir('files/1000') as $f ){ $f = mb_convert_encoding($f, 'utf-8', 'gbk'); echo "${f}<br>"; }
纵然加个转码时间,PHP照旧要快1倍。
解除语言的问题了。最终发明 layui.table 列表数据一多,就会渲染超慢,改为 Vue后 办理。
到此这篇关于ASP和PHP文件操纵速度的比拟的文章就先容到这了,更多相关ASP和PHP文件操纵速度内容请搜索剧本之家以前的文章或继承欣赏下面的相关文章但愿各人今后多多支持剧本之家!