2013-09-13 3 views
0

Я пытаюсь сохранить простой pdf с одной страницей, но он не работает. Это то, что я делаю:Zend PDF - сохранить разрешения

try { 
     // create PDF 
     $pdf = new Zend_Pdf(); 

     // create A4 page 
     $page = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4); 

     // define font resource 
     $font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA); 

     // set font for page 
     // write text to page 
     $page->setFont($font, 24) 
      ->drawText('That which we call a rose,', 72, 720) 
      ->drawText('By any other name would smell as sweet.', 72, 620); 

     // add page to document 
     $pdf->pages[] = $page; 

     // save as file 
     $pdf->save("/test.pdf"); 
     echo 'SUCCESS: Document saved!'; 
    } catch (Zend_Pdf_Exception $e) { 
     die ('PDF error: ' . $e->getMessage()); 
    } catch (Exception $e) { 
     die ('Application error: ' . $e->getMessage()); 
    } 

Я всегда получаю эту ошибку:

PDF error: Can not open '/test.pdf' file for writing.

Я нашел this StackOverflow тему, но я не помогло мне много. Говорят, чтобы изменить путь сохранения, но изменить его на что? Скажем, например, я хочу загрузить его в папку «Мои загрузки», как я могу это сделать?

Моя папка загрузок на УДС: /Users/myname/Downloads

ответ

3

попробовать для сохранения в каталоге приложений Zend

$pdf->save("test.pdf"); 

или для сохранения в Загрузки

$pdf->save("/Users/myname/Downloads/test.pdf"); 
+0

Пробовал, что уже и оба не работали. Такая же ошибка .... – nielsv

+0

Таким образом, пользователь веб-сервера может не иметь разрешений для записи в этих каталогах. Вы можете попытаться сохранить файл /tmp/test.pdf, если это работает, чтобы изменить права доступа к каталогу, в котором вы хотите его сохранить. –

0

Убедитесь, что у вас есть разрешения на запись папка с ls -ld. Если у вас нет разрешения на запись в папке, используйте chmod, чтобы передать его самому себе.

+0

У меня есть разрешения на папку «Мои файлы»? Должен ли я установить параметр true local или ...? – nielsv

+0

Я не знаю, какова ваша точная настройка, но если папка не имеет надлежащих прав на запись, она не позволит php писать файлы. Используйте ls -ld, чтобы узнать - это даст вам представление о том, что папка разрешена. – baordog

+0

Вопрос, когда я его сохраню, сохранит ли он его на моем сервере или на своем ПК? – nielsv

Смежные вопросы