遇到一个问题,需要读取本地服务器里的文件,并且用PHPOffice解析出来。

问题来了,总是file not exist, 这他妈。。。。

后来发现是路径格式的问题,也就是说,PHPOffice\Phpspreadsheet这个库里的load函数,本质上是PHP的fopen函数,而这个又显然是C语言里的fopen函数的封装。至于PHP在封装的过程中是否做了什么优化,不得而知,但是呢,参数是文件路径或一个url,这就要求必须符合Windows的文件路径,或者Unix文件格式。

而在保存的过程中,死活是不能提取出合适的文件路径的,各种不对。于是我就放弃了直接在PHP代码里解决文件路径格式的问题。于是在console里写代码,传递的参数是Unix格式的路径,这就好了。

所以一方面,不能死板,二方面还是要多思考。这个解决方法是洗澡的时候想出来了。还是要多投入时间和精力。

标签: Windows, Unix, fopen, PHPOffice

添加新评论