PHPExcel致命错误

PHPExcel致命错误,php,phpexcel,Php,Phpexcel,我有一个脚本,可以将一些数据从SQL和format导出到Excel中,对于我要导出的4件事情中的3件,这一切都很好。。最后一项是报告以下内容: Warning: fopen(/home/a/public_html/private/b/c/d/e/f/Martin's-g-23-11-2015.xls): failed to open stream: No such file or directory in /home/a/public_html/b/classes/Classes/PHPExce

我有一个脚本,可以将一些数据从SQL和format导出到Excel中,对于我要导出的4件事情中的3件,这一切都很好。。最后一项是报告以下内容:

Warning: fopen(/home/a/public_html/private/b/c/d/e/f/Martin's-g-23-11-2015.xls): failed to open stream: No such file or directory in /home/a/public_html/b/classes/Classes/PHPExcel/Shared/OLE/PPS/Root.php on line 90
这个好剂量的存在是因为这个脚本在其他部门工作得很好,而不是马丁的部门。它还报告如下:

Fatal error: Uncaught exception 'Exception' with message 'Can't open /home/a/public_html/private/b/c/d/e/f/Martin's-g-23-11-2015.xls. It may be in use or protected.' in /home/a/public_html/b/classes/Classes/PHPExcel/Shared/OLE/PPS/Root.php:93 Stack trace: #0 /home/a/public_html/b/classes/Classes/PHPExcel/Writer/Excel5.php(233): PHPExcel_Shared_OLE_PPS_Root->save('/home/a/pu...') #1 /home/a/public_html/private/b/c/d/e/exportOther.php(66): PHPExcel_Writer_Excel5->save('/home/a/pu...') #2 {main} thrown in /home/a/public_html/b/classes/Classes/PHPExcel/Shared/OLE/PPS/Root.php on line 93
我被难住了,为什么这个错误,而其他的一切都正常,它们都运行在同一个脚本上,所以它的报告权限错误(?)的事实很奇怪。。我已经使用了htmlspecialchars作为名称,因此Martin的不应该影响它,更重要的是,它必须以这种方式存储,因为它是从提供给我们的文件中捕获的

这里有人知道是什么导致了这个错误吗


编辑-打印出它决定抛出另一个随机/之前的马丁的时候,不应该有所有排序现在抱歉!(谢谢)

我还不能发表评论,所以我不得不将此作为回答:

你是在逃避马丁的引用吗?难道你不能避免一开始就使用引用吗


另外,下次请发布脚本中导致此错误的代码。我们现在只能猜测了。

我还不能发表评论,所以我不得不将此作为答案发布:

你是在逃避马丁的引用吗?难道你不能避免一开始就使用引用吗


另外,下次请发布脚本中导致此错误的代码。我们现在只能猜测。

问题在于您的文件名。也许你是这样使用fopen的

 fopen('....Martin's...');

请不要在文件名中使用特殊字符。尽量避免使用空格、文件夹分隔符(
\/
)、西班牙语波浪线和eñes等。

问题在于文件名。也许你是这样使用fopen的

 fopen('....Martin's...');

请不要在文件名中使用特殊字符。尽量避免使用空格、文件夹分隔符(
\/
)、西班牙语波浪线和eñes等。

您可以检查文件权限吗
ls-lah/home/a/public\u html/private/b/c/d/e/f/| grep xls
检查文件的许可证尝试用
\
转义
,我认为php对它的解释是错误的如果你像那样打开一个xls文件,那么你真的在使用PHPExcel吗,正如前面所说的,其他的导出在这方面工作得很好,这就是为什么我有点被难住了。你能检查一下文件权限吗
ls-lah/home/a/public\u html/private/b/c/d/e/f/| grep xls
检查文件的许可证尝试用
\
转义
,我认为php对它的解释是错误的如果你像那样打开一个xls文件,那么你真的在使用PHPExcel吗,正如前面所说的,其他的导出可以很好地解决这个问题,这就是为什么我有点被难倒的原因。我做了一个字符串替换($prints=str_replace(“”,“\”,$prints);)来替换“for\”,以逃避它,但它似乎不起作用,同样不幸的是,我无法避免使用它,因为它是从提供给我们的外部来源收集来的,要添加到我们的内部数据库中,这需要有一个报价。我会手动做一个fopen,调整路径字符串,直到它工作,然后从那里开始工作。我们没有任何访问服务器的权限(虽然很快就要移动了,所以有一些东西…)但是刚刚把它整理好了..打印出它决定抛出另一个随机/在马丁之前的所有内容,当时不应该全部整理好现在抱歉!(并且感谢)我已经做了字符串替换($prints=str_replace(“'”,“\”,$prints);)要替换“for\”来转义它,但它似乎不起作用,同样不幸的是,我无法避免使用它,因为它是从提供给我们的外部源收集的,要添加到我们的内部数据库中,这需要单个引号。我会手动执行一个fopen,调整路径字符串,直到它起作用,然后从那里开始我的工作。我们无法访问服务器(虽然很快会移动,所以有一些东西…),但是刚刚将其排序..打印出它决定抛出另一个随机/在Martin之前的所有内容,此时不应该全部排序现在抱歉!(并且感谢)我已经做了字符串替换($prints=str_replace(“'”,“\”,$prints);)要替换“for\”来逃避它,但它似乎不起作用,同样不幸的是,我无法避免使用它,因为它是从提供给我们的外部源收集的,要添加到我们的内部数据库中,这需要一个引用。共享您的代码。我们没有任何水晶球。您的声明或您的fopen函数是错了,所以分享你的代码,我们可以帮助你。否则我们只能说纯粹的推测。我已经做了字符串替换($prints=str\u replace(“'”,“\”,$prints);)要替换“for\”来逃避它,但它似乎不起作用,同样不幸的是,我无法避免使用它,因为它是从提供给我们的外部源收集的,要添加到我们的内部数据库中,这需要一个引用。共享您的代码。我们没有任何水晶球。您的声明或您的fopen函数是错了,所以分享你的代码,我们可以帮助你。否则我们只能说纯粹的猜测。