2016-02-11 7 views
-3

Im используя PHPWord сделать документ из шаблона, его все прекрасно работала до сих пор и документация довольно приличная: http://phpword.readthedocs.org/en/latest/index.htmlPHPWord - не может открыть сохраненный файл, так как не имеет «специальных разрешения доступа»

Но я не могу открыть файл, который я создал, используя:

$templateProcessor->saveAs($filename); 

Это говорит слово не может открыть, как пользователь не имеет прав доступа. Я ничего не вижу в документации об этом, и поиск SO находит несколько других подобных вопросов без ответа.

У кого-нибудь есть идеи по этому поводу?

+0

Говорит ли он о контакте с администратором? – Rhopercy

+1

Нет просто: Word не может открыть документ: у пользователя нет прав доступа. В поле справки говорится, что он был сохранен с разрешениями, но не знаю, как не сохранять с разрешениями. Может быть, я просто попробую найти другую php для библиотеки docx вместо этого. –

ответ

1

Хорошо, я работал его. Благодаря @ Джону Смиту за то, что он помог мне направить меня в правильном направлении. Я нашел ответ здесь: https://github.com/PHPOffice/PHPWord/issues/532

В принципе я изменил функцию SAVEAS от:

rename($tempFilename, $strFilename); 

к:

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

и теперь он работает сон. Еще раз спасибо @ Джон Смит за помощь.

1

Вы можете сделать это вручную, я думаю: http://php.net/manual/en/function.chmod.php

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

Хорошо, что выглядит многообещающим, что мне с ним делать. Я пробовал это: $ templateProcessor-> saveAs (chmod ($ source, 0644)); я в пути? Также попробовал добавить chmod ($ source, 0644); после моей первоначальной saveas() линии –

+1

Нет. Просто создайте '$ templateProcessor-> saveAs ($ filename); chmod ($ filename, 0644); ' –

+0

Да, извините, я тоже это пробовал. –