phpWord下载出错,状态响应为 net::ERR_INVALID_RESPONSE(500)

错误出现

在对PHPWord生成的.docx文件在对其进行下载的时候出现了如图错误:

在这里插入图片描述
刚开始对这个问题一头雾水,突然出现,有的电脑能下载,有的不能;
还以为是PHP版本的问题;
查看源码:

                // 设置自动进行下载
                header("Content-type:application/vnd.ms-word");
                header("Content-Disposition:attachment;filename=" . $fileName . ".docx");
                header('Cache-Control:max-age=0');
                //把phpword的内容输出到php输出流里
                $objWrite->save('php://output');
                //保存到指定目录中
                $objWrite->save($path.$fileName.".docx");
                exit();

我在对其输出时,还把文件存入(上传到)了一个固定的路径$path下;
apache中查到了请求日志(access.log
::1 - - [01/Oct/2018:19:29:44 +0800] "GET /sport_meeting/public/index/produce_controller/downloadmanual.html HTTP/1.1" 500 61400 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36"
请求的返回的状态码为500

500:服务器内部错误 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现。

以为是版本问题,更换,无果;
以为是header的设置问题,无果;


解决

最后发现问题:
由于要上传到固定路径$path,路径下文件频繁改变所以在.gitignore对其设置了忽略;导致远程git上的仓库中$path路径下文件为空;导致路径里要上传文件的那个文件夹被默认删除掉了;
所以$path不存在了,导致出现下载错误。
所以进行上传操作的时候要对上传的路径进行判断,是否存在该路径,不然会发生错误。

              //判断路径是否存在,不存在自动生成
              if(!file_exists($path))
                {
                    mkdir($path);//生成指定路径
                }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值