ID:               30924
 Updated by:       [EMAIL PROTECTED]
 Reported By:      himself at zhwau dot net
-Status:           Open
+Status:           Feedback
-Bug Type:         Unknown/Other Function
+Bug Type:         Filesystem function related
 Operating System: Windows XP
 PHP Version:      5.0.2
 New Comment:

Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php

If you can provide more information, feel free to add it
to this bug and change the status back to "Open".

Thank you for your interest in PHP.


Please, provide more info about your system: webserver version, used
SAPI, reproduce code etc.


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

[2004-11-29 01:29:24] himself at zhwau dot net

Description:
------------
When trying to POST upload a file with the proper <FORM> tag, including
the proper enctype and all (but without size restriction with
MAX_FILE_SIZE as in manual example), the receiving script defined in
ACTION results in move_uploaded_file() returning TRUE even though the
file wasn't moved at all.

Odd things happen when you try reloading the ACTION target page which
makes Firefox repost the data - the second time around, the PHP script
moves the file, even though it is assigned a different temp file name.
Then everything works fine.

Could this be the result of a write-behind process for the filesystem
which makes move_uploaded_file() return true even if it didn't move the
actual file?

Reproduce code:
---------------
<?php
  // The receiving script
  $ime = $_FILES['slika']['name'];
  if (move_uploaded_file($_FILES['slika']['tmp_name'], $ime)) {
    // Here i execute the code responsible for handling the file
  }
  else {
    // Report that the upload failed
  }
?>

Expected result:
----------------
Should execute the 'ELSE' part of the sentence, since the
move_upload_file() should return true in the case of a failed file move
- unless it only detects whether or not the tmp_name file exists.

Actual result:
--------------
First time around, the move_uploaded_file() returns true (meaning the
temp file exists) but the file isn't moved to $ime (i.e. the same dir
where the script is executed).

If you reload the page (and repost the same data), the tmp_name changes
while all stays the same and the file is successfully moved.


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


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

Reply via email to