最近一个项目中,有一个读取某个文件夹下所有文件的功能。使用了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文件操作速度内容请搜索尊托云数以前的文章或继续浏览下面的相关文章希望大家以后多多支持尊托云数!
最近出的每日一题里面,有一道是关于合并同类型数据为一行的题,使用SQL Server ...
前言 上次咱们简单的学习了一下select的用法,一篇文章教会你进行Mysql数据库和...
本文转载自微信公众号「Java极客技术」,作者鸭血粉丝 。转载本文请联系Java极客...
jsp 开发之struts2中s:select标签的使用 1.第一个例子: s:select list="{'aa','...
大家应该都知道,在静态页面提交表单到数据库很简单就是单纯的 form action="tes...
LABVIEW如何连接SQL Server详细说明 一、整体流程图 二、Sql Sever 2012下载安装...
导读: 正则表达式是处理字符串类型的"核武器",不仅速度快,而且功能强大。本文...
1.判断是否有注入 ;and1=1 ;and1=2 2.初步判断是否是mssql ;anduser0 3.注入参数...
分享背景 由于一直在虚拟机的状态下开发PHP,尝试一下mac本地搭建环境.mac本身是...
支持多行同时拖拽,重复数据不重得添加,添加了图表右键菜单. 复制代码 代码如下...