|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #57743 save() method does not accept relative path
Submitted: 2007-07-13 04:09 UTC Modified: 2007-07-13 04:23 UTC
From: pcdinh at gmail dot com Assigned:
Status: Not a bug Package: haru (PECL)
PHP Version: 5.2.1 OS:
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Bug Type:
From: pcdinh at gmail dot com
New email:
PHP Version: OS:


 [2007-07-13 04:09 UTC] pcdinh at gmail dot com
The save() method does not generate any file when I specify a relative file path.

Windows XP SP2
PHP 5.2.3

Reproduce code:

$doc = new HaruDoc();

$doc->setPageMode(HaruDoc::PAGE_MODE_USE_THUMBS); /* show thumbnails */

$page = $doc->addPage(); /* add page to the document */
$page->setSize(HaruPage::SIZE_A4, HaruPage::LANDSCAPE); /* set the page to use A4 landscape format */

$courier = $doc->getFont("Courier-Bold"); /* we'll use the bundled font a few lines below */

$page->setRGBStroke(0, 0, 0); /* set colors */
$page->setRGBFill(0.7, 0.8, 0.9);
$page->rectangle(150, 150, 550, 250); /* draw a rectangle */

$page->fillStroke(); /* fill and stroke it */

$page->setDash(array(3, 3), 0); /* set dash style for lines at this page */
$page->setFontAndSize($courier, 60); /* set font and size */

$page->setRGBStroke(0.5, 0.5, 0.1); /* set line color */
$page->setRGBFill(1, 1, 1); /* set filling color */

$page->setTextRenderingMode(HaruPage::FILL_THEN_STROKE); /* fill and stroke text */

/* print the text */
$page->textOut(210, 270, "Hello World!");

$doc->save("./test.pdf"); /* save the document into a file */


Expected result:
test.pdf should be generated in the same directory with the PHP code file.

Actual result:
No file is generated. No error occurs.

PDF is generated when I make a change as follows:



Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2007-07-13 04:23 UTC] tony2001 at phpclub dot net
The "./test.pdf" refers to the path relative to the current working directory. In threaded Server APIs (which is the only option on Win32) PHP does not change the working directory of the process since it would affect all threads of the process, instead it stores its current value for each thread.
Haru library because of obvious reasons does not know about it and writes to the current working directory OF THE PROCESS.
Just search your disk for test.pdf, I'm sure you'll find it in the working directory of your web-server.
Use relative paths keeping this in mind. 
No bug here.
PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Tue Dec 06 17:05:53 2022 UTC