ID:               10835
 Updated by:       [EMAIL PROTECTED]
-Reported By:      [EMAIL PROTECTED]
+Reported By:      [EMAIL PROTECTED]
 Status:           Open
 Bug Type:         FTP related
 Operating System: Windows 2k Server
 PHP Version:      4.0.5
 New Comment:

I have got a similar error with the ftp_chdir function.
I can't change to a directory with spaces in it , nor making the
strings replacement shown here... 
I'm using:
Php server: W2k Server(no SP), Apache 1.3 , Php 4.0.5
ftp server: W2k Professional SP2, ftp of IIS, access anonymous.

Thanks in advance.


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

[2001-05-12 22:24:49] [EMAIL PROTECTED]

I added an echo $a and an echo $b.  I also some debug code to see if it
was connection to the ftp server. The output is:
C:\Te st.doc
Te st.doc
Connected
Ftp upload has failed!

So 
$a=C:\Te st.doc
$b=Te st.doc
So it should upload the file as fallows:
$upload = ftp_put($conn_id, "C:\Te st.doc", "Te st.doc", FTP_BINARY); 

I added the code:
$b = str_replace (" ", "\ ", $b);
to no avail :(

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

[2001-05-12 20:04:49] [EMAIL PROTECTED]

Hello,

can you try if this has anything to do with spaces in filenames?
(so try "C:\\Te st.doc").

If that's the case you need to escape your filename like this:
 $b = strreplace (" ", "\ ", $b);

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

[2001-05-12 19:45:22] [EMAIL PROTECTED]

an example:
$file = C:\\whatever.doc
that whould make 
$a = C:\whatever.doc
that would make
$b = whatever.doc

The file will upload from C:\ but will not upload from the desktop.

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

[2001-05-12 19:19:42] [EMAIL PROTECTED]

I created an upload script that will upload to my ftp server, the
variable $file comes from a different file:
$a = stripslashes ($file);
$b = basename ($a);
$ftp_server = "ftp_server";
$ftp_user_name = "user";
$ftp_user_pass = "password";
$dir = "ftp";
$conn_id = ftp_connect("$ftp_server"); 
$login_result = ftp_login($conn_id, "$ftp_user_name",
"$ftp_user_pass"); 
$cd = ftp_chdir ($conn_id, $dir);
$upload = ftp_put($conn_id, $b, $a, FTP_BINARY); 
if (!$upload) { 
        echo "<b>Ftp upload has failed!</b><br>";
    } else {
        echo "Uploaded<br>";
    }
$discon = ftp_quit($conn_id); 
echo "<i>$b</i>";

This script will work most of the time, but when the file to be
uploaded is located in certain folders the file will not upload.

I made one change to the php.ini file to allow uploads greater than 2
megs.

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


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

Reply via email to