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