thinkphp5.1文件路径使用绝对路径
ThinkPHP
2022-10-21 11:40:20
先说说写这篇文章的由来。
需求:执行方法调用指定位置的excel文件并读取其中的内容。
报错:errStr:fopen(../public/excel.csv): failed to open stream: No such file or directory;
从错误中可以看出为文件路径的异常,但奇怪的是如果单独执行调用文件的方法,并不会报错。但如果将方法使用定时器调用就会出现该错误。关于这个错误,真的想说极为不解。
既然知道了错误,那么开始来解决。既然相对路径不行,那么改成绝对路径来读取呢?
这里就用到了dirname(__FILE__)来实现最终的绝对路径。
dirname(__FILE__)含义:返回的是脚本所在在的路径。即返回你当前方法所在的绝对位置路径。
如:我在admin/controll/index.php中进行了调用。
返回结果:
D:\项目名称\application\admin\controller
从该方法我们知道了,调用时的的绝对路径。那么你指定的文件在public下的test/a.csv文件的绝对要如何写呢?
dirname(__FILE__).'/../../../public/test/a.csv'
如此便获得了,该文件的绝对路径。
常规相对路径如下:
'../public/test/a.csv'
相对路径和绝对路径需要根据自己实际情况使用。
六月初字帖坊小程序
你想要的字帖模板及工具,这里都有!
877篇文章
1905人已阅读