#39051 [Fbk->Opn]: move_uploaded_file fails with spaces and apostrophes

From: Date: Thu, 05 Oct 2006 21:02:58 +0000
Subject: #39051 [Fbk->Opn]: move_uploaded_file fails with spaces and apostrophes
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-103167@lists.php.net to get a copy of this message
 ID:               39051
 User updated by:  steele at agora-net dot com
 Reported By:      steele at agora-net dot com
-Status:           Feedback
+Status:           Open
 Bug Type:         Streams related
 Operating System: Debian Sarge
 PHP Version:      4.4.4
 New Comment:

I'm well aware of why it wouldn't work if the directory did not exist. 
It does, and has been chmod'ed to 777.  Here is the reproduce code you
requested:

<?php
$target_path = "/path/to/share/ftp/foo blah/bc.png";
$tmp = "/tmp/phpu6A5ia";
if(move_uploaded_file($tmp,$target_path)){
   echo "$tmp . " has been successfully uploaded.\n";
    }
else{
   echo "Upload error!";
}
?>


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

[2006-10-05 18:53:13] tony2001@php.net

Cannot reproduce.
Of course "/path/to/share/ftp/foo blah/" directory must exist,
otherwise it wouldn't work for obvious reasons.

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

[2006-10-05 17:49:42] tony2001@php.net

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.



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

[2006-10-05 17:42:48] steele at agora-net dot com

Forgot to paste the "Upload error!" at the end.

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

[2006-10-05 17:41:39] steele at agora-net dot com

Description:
------------
The move_uploaded_file() function fails when given a path that contains
spaces or apostrophes.  Have tried manually escaping them as well, with
the same result.  The copy() function does not fail in this respect. 
Tested on three separate machines, and had members in the IRC channel
test as well.

Reproduce code:
---------------
$target_path = "/path/to/share/ftp/foo blah/bc.png";
if(move_uploaded_file($_FILES[$fileName]['tmp_name'],$target_path)){
   echo basename( $_FILES[$fileName]['name']) . " has been successfully
uploaded.\n";
    }
else{
   echo "Upload error!";
}

Expected result:
----------------
bc.png has been successfully uploaded.

Actual result:
--------------
Warning: move_uploaded_file(/path/to/share/ftp/foo blah/bc.png)
[function.move-uploaded-file]: failed to open stream: No such file or
directory in /path/to/includes/doUpload.php on line 54

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to
move '/tmp/phpu6A5ia' to '/path/to/share/ftp/foo blah/bc.png' in
/path/to/includes/doUpload.php on line 54


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


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


Thread (7 messages)

« previous php.bugs (#103167) next »