起因是看到了一个简单php上传脚本:http://www.nowamagic.net/librarys/veda/detail/1384
我重构了一下,主要是用匿名函数代替了foreach循环,利用了闭包的新特性,从而也提高了性能。需要注意的是闭包并不就完全等于匿名函数,闭包是通过匿名函数实现的,跟use关键字的使用有关。
记录下就当抛砖引玉了,毕竟随着php众多新特性的加入,我们程序员也要与时俱进不断优化代码,重构自身。
以下是重构后的php部分:
ECSHOP是一款开源免费的网上商店系统。由专业的开发团队升级维护,为您提供及时高效的技术支持,您还可以根据自己的商务特征对ECSHOP进行定制,增加自己商城的特色功能。 ECShop网店系统 V2.7.3 Release 1106正式版发布版本提高了用户体验,优化代码,提升安全性,对原有产品各功能线进行梳理合理优化。此版本后台新增云服务,方便用户查看版本和最新补丁信息,同时提供应用服务。新增 银
0
<span $img</span> = <span $_FILES</span>['img'<span ];
</span><span if</span> (<span $img</span><span )
{
</span><span //</span><span 文件存放目录,和本php文件同级</span>
<span $dir</span> = <span dirname</span>(<span __file__</span><span );
</span><span array_walk</span>(<span $img</span>['tmp_name'], <span function</span> (<span $value</span>) <span use</span>(<span $dir</span>,<span $img</span><span )
{ </span><span //</span><span 保证$img['tmp_name']和$img['name']中索引的对应</span>
<span $filename</span> = <span $img</span>['name'][<span array_search</span>(<span $value</span>, <span $img</span>['tmp_name'<span ])];
</span><span //</span><span 设置上传路径</span>
<span $savepath</span>="<span $dir</span>\<span $filename</span>"<span ;
</span><span //</span><span 上传,并返回状态</span>
<span $state</span> = <span move_uploaded_file</span>(<span $value</span>, <span $savepath</span><span );
</span><span //</span><span 如果上传成功,预览</span>
<span if</span>(<span $state</span><span )
{
</span><span echo</span> "@@##@@' alt='<span $filename</span>' /> "<span ;
}
});
}</span>
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号