#22177 [Bgs->Csd]: Warning: fopen() expects parameter 1 to be string

2003-02-11 Thread laudanp
 ID:   22177
 User updated by:  [EMAIL PROTECTED]
 Reported By:  [EMAIL PROTECTED]
-Status:   Bogus
+Status:   Closed
 Bug Type: Filesystem function related
 Operating System: RedHat
 PHP Version:  4.3.0
 New Comment:

Thanks.


Previous Comments:


[2003-02-11 18:22:02] [EMAIL PROTECTED]

For support:
http://www.php.net/support.php



[2003-02-11 18:19:33] [EMAIL PROTECTED]

Quote: "The fact that this "worked" for you in 4.2.3 indicates a bug in
4.2.3 that has been fixed in 4.3."

Now that is an idea that didn't occur to me.  And since php 4.2.3 may
have been buggy then obviously the fix is to upgrade to 4.3 and rewrite
it the way you folks suggest.

Thanks for that answer, a much more mature one than RTFM.

Hence this isn't bogus but an actual bug that was in 4.2.3.  And the
patch is to make sure the code is written correctly.

Thus one last question, looking at the code I initially posted, what
would be your suggestion if I may ask specifically tailored to my
problem?



[2003-02-11 18:15:22] [EMAIL PROTECTED]

"Warning: fopen() expects parameter 1 to be string"
Now read the manual for fopen -> parameter 1 needs to be a string.
You are passing a resource.

The fact that this "worked" for you in 4.2.3 indicates a bug in 4.2.3
that has been fixed in 4.3.
Your supposed temporary file name would be a string "Resource id #4",
which isn't a very good temporary file name.

You describe the expected behaviour of PHP, your script is broken,
therefore this is a user error, and thus a bogus report.

Now, please leave us in peace to fix real bugs.



[2003-02-11 18:08:39] [EMAIL PROTECTED]

Assure you no user error.



[2003-02-11 18:01:44] [EMAIL PROTECTED]

User error.
Please leave this as bogus.



The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/22177

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




#22177 [Bgs->Csd]: Warning: fopen() expects parameter 1 to be string

2003-02-11 Thread laudanp
 ID:   22177
 User updated by:  [EMAIL PROTECTED]
 Reported By:  [EMAIL PROTECTED]
-Status:   Bogus
+Status:   Closed
 Bug Type: Filesystem function related
 Operating System: RedHat
 PHP Version:  4.3.0
 New Comment:

Assure you no user error.


Previous Comments:


[2003-02-11 18:01:44] [EMAIL PROTECTED]

User error.
Please leave this as bogus.



[2003-02-11 16:05:05] [EMAIL PROTECTED]

I don't consider this bogus and your thoughts are your own.  I wouldn't
be the type to just submit a bug report that I didn't think was
founded.  The code worked under 4.2.3 and if you care to check I can
send the whole package to you to disprove your "thoughts".

Upgrading to php 4.3 has broken the subroutine.  Instead of "thinking"
that it doesn't work I would suspect more from php developers for a
more quantitative analysis of the situation.

Ergo I prefer to close this bug report myself because I'm apparently
not getting any constructive feedback here, instead of having it
labeled as "bogus".

Once again, the code, unchanged prior 4.3 worked.  The same exact code
that worked no longer does.  Absolutely nothing has been changed.

Anyhow, thanks for replying at least.  It is much better to know where
one stands rather than not getting any reply whatsoever.



[2003-02-11 15:59:23] [EMAIL PROTECTED]

As Jani said, tmpfile returns a resource, no need to try to fopen it.
He said also that nothing was changed in 4.3.0 about it, which is
right. Your code is bogus and I don't think it ever worked.

See: http://www.php.net/manual/en/function.tmpfile.php

resource tmpfile ( void)

Creates a temporary file with an unique name in write mode, returning a
file handle similar to the one returned by fopen(). The file is
automatically removed when closed (using fclose()), or when the script
ends. 

You should use:
$temp = tmpfile();
fwrite($temp, "writing to tempfile");
fclose($temp); // this removes the file

Not a bug->Bogus again.



[2003-02-11 15:52:09] [EMAIL PROTECTED]

Per me previous comment addition, the code was not changed whatsoever. 
I'm "re-opening" this bug report in the hopes it will gather a
response.



[2003-02-11 15:50:52] [EMAIL PROTECTED]

I don't appreciate the RTFM remark, but I am glad you replied back.  I
use the php manual extensively but have not seen that particular link.

I can tell you honestly that your doubt is just that, because that same
exact code block worked 100% under php 4.2.3.  After the upgrade to 4.3
that code no longer works and it has *not* been changed.



The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/22177

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




#22177 [Bgs->Csd]: Warning: fopen() expects parameter 1 to be string

2003-02-11 Thread laudanp
 ID:   22177
 User updated by:  [EMAIL PROTECTED]
 Reported By:  [EMAIL PROTECTED]
-Status:   Bogus
+Status:   Closed
 Bug Type: Filesystem function related
 Operating System: RedHat
 PHP Version:  4.3.0
 New Comment:

I don't consider this bogus and your thoughts are your own.  I wouldn't
be the type to just submit a bug report that I didn't think was
founded.  The code worked under 4.2.3 and if you care to check I can
send the whole package to you to disprove your "thoughts".

Upgrading to php 4.3 has broken the subroutine.  Instead of "thinking"
that it doesn't work I would suspect more from php developers for a
more quantitative analysis of the situation.

Ergo I prefer to close this bug report myself because I'm apparently
not getting any constructive feedback here, instead of having it
labeled as "bogus".

Once again, the code, unchanged prior 4.3 worked.  The same exact code
that worked no longer does.  Absolutely nothing has been changed.

Anyhow, thanks for replying at least.  It is much better to know where
one stands rather than not getting any reply whatsoever.


Previous Comments:


[2003-02-11 15:59:23] [EMAIL PROTECTED]

As Jani said, tmpfile returns a resource, no need to try to fopen it.
He said also that nothing was changed in 4.3.0 about it, which is
right. Your code is bogus and I don't think it ever worked.

See: http://www.php.net/manual/en/function.tmpfile.php

resource tmpfile ( void)

Creates a temporary file with an unique name in write mode, returning a
file handle similar to the one returned by fopen(). The file is
automatically removed when closed (using fclose()), or when the script
ends. 

You should use:
$temp = tmpfile();
fwrite($temp, "writing to tempfile");
fclose($temp); // this removes the file

Not a bug->Bogus again.



[2003-02-11 15:52:09] [EMAIL PROTECTED]

Per me previous comment addition, the code was not changed whatsoever. 
I'm "re-opening" this bug report in the hopes it will gather a
response.



[2003-02-11 15:50:52] [EMAIL PROTECTED]

I don't appreciate the RTFM remark, but I am glad you replied back.  I
use the php manual extensively but have not seen that particular link.

I can tell you honestly that your doubt is just that, because that same
exact code block worked 100% under php 4.2.3.  After the upgrade to 4.3
that code no longer works and it has *not* been changed.



[2003-02-11 15:48:18] [EMAIL PROTECTED]

RTFM: http://www.php.net/manual/en/function.tmpfile.php

tmpfile() returns a file handle already..NOT filename.
I doubt this ever worked for you as this was not changed in
4.3.0...(you propably used tempnam() instead before)





[2003-02-11 15:39:40] [EMAIL PROTECTED]

A php script I have worked fine under PHP 4.2.3, but after the upgrade
to PHP 4.3 whenever I try running it I get these errors:

Warning: fopen() expects parameter 1 to be string, resource in ... on
line 353

Warning: fwrite(): supplied argument is not a valid stream resource in
... on line 354

Warning: fclose(): supplied argument is not a valid stream resource in
... on line 355

Warning: getimagesize(Resource id #4) [function.getimagesize]: failed
to create stream: No such file or directory in ... on line 361

The following blocks of code surround the problematic lines from
above:

if ($input = fopen($image, "rb")) {
$image_data = fread ($input, 2048576);
fclose($input);
if (!$tmp_image = @tmpfile()) {
exit("Cannot create tempfile using
tmpfile().");
}
353:$output = fopen($tmp_image, "wb");
354:fwrite($output, $image_data);
355:fclose($output);
356:} else {
357:exit("Cannot access ".$image." for reading. (Does
not exist or has wrong permissions)");
358:}
359:
360:// Create Image from file by type, get and set size
361:list($width,$height,$type) = getimagesize($tmp_image);
362:

I'm having difficulty determining what the problem is since the code
worked with PHP 4.2.3.

Thanks for your help.




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