ID:               48959
 User updated by:  trutas dot ctx at gmail dot com
 Reported By:      trutas dot ctx at gmail dot com
-Status:           Feedback
+Status:           Open
 Bug Type:         Filesystem function related
 Operating System: win32 - Windows Server 2003 x64
 PHP Version:      5.3.0
 Assigned To:      pajoye
 New Comment:

I'm sorry for the DOMPDF_TEMP_DIR,

Initially this problem was discovered when using dompdf in this 
environment - file_get_contents was a proxy workaround.

I have fully tested this version:

Reproduce code:
---------------
<?php
//temporary location
$resolved_url = tempnam("/tmp", "test_");
//get source
$image=file_get_contents("http://9tree.net/favicon.ico";);
//save it
file_put_contents($resolved_url, $image);

//tests
if(is_readable($resolved_url)) print "file readable, ";
if(filesize($resolved_url)) print "filezise found.";
?>

In Unix/Win32 it works perfectly.

This is only happening in Windows Server 2003 x64 IIS 6.0 where 
tempnam("/tmp", "test_") returns something like 
"C:\WINDOWS\Temp\tes20FB.tmp".

in the case of filesize i get a warning - "stat failed for 
C:\WINDOWS\Temp\tes20FB.tmp ..."

Regards,
Carlos


Previous Comments:
------------------------------------------------------------------------

[2009-08-10 15:27:03] paj...@php.net

I have no idea what DOMPDF_XXXX is and how it is used.

Please provide a standalone script I can use to reproduce your problem,
as well as which paths are used by the script.

"- Please note that this problem does not happen in local folder to the
 execution base (eg. "tmp_sub_folder/" ) - this only happens in the 
system tmp folder in this setup."

It looks like a permission problem to me.


------------------------------------------------------------------------

[2009-07-17 16:09:18] trutas dot ctx at gmail dot com

The environment could be the problem here,
 
I'm using Windows 2003 x64 with PHP x64 via fastcgi.

These are two IIS Servers with load balancer and a separate cluster 
that serves the actual run files.
PHP is installed on D:\PHP on each IIS machine.

The problem came up using the library dompdf - it saves document 
images content to temporary files in order to build the final pdf 
document.

I've reduced the problem to the test code i've attached. 
DOMPDF_TEMP_DIR is /tmp and writes to C:\Windows\tmp ...

- Please note that this problem does not happen in local folder to the

execution base (eg. "tmp_sub_folder/" ) - this only happens in the 
system tmp folder in this setup.

This is the same setup environment as the one reported in the bug 
48852 (about file_put_contents)



Regards,

------------------------------------------------------------------------

[2009-07-17 15:34:47] paj...@php.net

Cannot reproduce on 2k8, vista and win7. Pls note that I replaced the
my_file_... with the normal file_get_contents function.

Can you paste a working script pls?

------------------------------------------------------------------------

[2009-07-17 15:08:28] trutas dot ctx at gmail dot com

Just tested - file_exists() returns false incorrectly too.

I´ve worked around it all with checking for fopen($file, 'r') and
forcing file_get_contents() - it works, file exists, is readable and
returns the content.

------------------------------------------------------------------------

[2009-07-17 12:10:10] trutas dot ctx at gmail dot com

Description:
------------
is_readable() returns false for temporary file (just created)
"C:\WINDOWS\Temp\dom373.tmp" and filezise() fails too.

fopen() and get_file_contents() both work for the same file.

as a workaround i'm using fopen() instead of is_readable() and 
fseek($fopen_instance, 0, SEEK_END); instead of filesize()

Reproduce code:
---------------
//temporary location
$resolved_url = tempnam(DOMPDF_TEMP_DIR, "dompdf_img_");
//get source
$image=my_file_get_contents("http://9tree.net/favicon.ico";);
//save it
file_put_contents($resolved_url, $image);

//tests
if(is_readable($resolved_url)) print "file readable, ";
if(filesize($resolved_url)) print "filezise found.\n";

die("all done.");

Expected result:
----------------
file readable, filezise found.
all done.

Actual result:
--------------
all done.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=48959&edit=1

Reply via email to