【问题标题】:PHPWord - cannot open saved file because don't have 'access priveleges'PHPWord - 无法打开保存的文件,因为没有“访问权限”
【发布时间】:2016-02-11 15:05:28
【问题描述】:

我正在使用 PHPWord 从模板制作文档,到目前为止一切正常,文档也相当不错:http://phpword.readthedocs.org/en/latest/index.html

但我无法打开我创建的文件,使用:

$templateProcessor->saveAs($filename);

它说 word 无法打开,因为用户没有访问权限。我在文档中没有看到任何关于此的内容,并且搜索 SO 会发现其他几个类似的问题都没有得到解答。

有人对此有什么想法吗?

【问题讨论】:

  • 是不是说要联系管理员?
  • 不只是:Word 无法打开文档:用户没有访问权限。帮助框说它已使用权限保存,但不知道如何不使用权限保存。也许我应该尝试找到一个与 docx 库不同的 php

标签: php ms-word phpword


【解决方案1】:

我认为您可以手动执行此操作: http://php.net/manual/en/function.chmod.php

// Read and write for owner, read for everybody else
chmod("/somedir/somefile", 0644); 

【讨论】:

  • 好吧,看起来很有希望,不过我该怎么办。我试过这个: $templateProcessor->saveAs(chmod($source, 0644));我漂泊了吗?还尝试添加 chmod($source, 0644);在我原来的 saveas() 行之后
  • 不。就做$templateProcessor->saveAs($filename); chmod($filename, 0644);
  • 是的,我刚刚通读了一遍,我解决了。为帮助干杯。
  • 我在下面发布了解决它或我的实际答案。再次感谢您的帮助。
【解决方案2】:

好的,我解决了。感谢@John Smith 帮助我朝着正确的方向前进。我在这里找到了答案:https://github.com/PHPOffice/PHPWord/issues/532

基本上我将函数 saveAs 更改为:

rename($tempFilename, $strFilename);

到:

copy($tempFilename, $strFilename);
unlink($tempFileName);

现在它实现了梦想。再次感谢@John Smith 的帮助。

【讨论】:

    猜你喜欢
    • 2015-12-03
    • 2018-12-25
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    相关资源
    最近更新 更多