Bug #10835 Updated: File Upload
ID: 10835 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Open -Bug Type: FTP related +Bug Type: Documentation problem -Operating System: Windows 2k Server +Operating System: ANY -PHP Version: 4.0.5 +PHP Version: ANY New Comment: There are so meny dir listing styles... (Imagine how many locales we have...) I think it will not be fixed anytime soon. We need to document this limitation for now. Previous Comments: [2002-02-15 14:32:15] [EMAIL PROTECTED] Thanks for your help. [2002-02-15 12:04:44] [EMAIL PROTECTED] I've found the problem. The ftp from IIS is configured to handle the "Directory Style" as "MSDOS".. you only have to change it to "UNIX" for php's ftp functions work properly and handle spaces in paths and names. Greetings [2002-02-14 03:55:48] [EMAIL PROTECTED] 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. [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); 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/10835 -- Edit this bug report at http://bugs.php.net/?id=10835&edit=1
Bug #10835 Updated: File Upload
ID: 10835 Updated 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: Thanks for your help. Previous Comments: [2002-02-15 12:04:44] [EMAIL PROTECTED] I've found the problem. The ftp from IIS is configured to handle the "Directory Style" as "MSDOS".. you only have to change it to "UNIX" for php's ftp functions work properly and handle spaces in paths and names. Greetings [2002-02-14 03:55:48] [EMAIL PROTECTED] 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. [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. 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/10835 -- Edit this bug report at http://bugs.php.net/?id=10835&edit=1
Bug #10835 Updated: File Upload
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've found the problem. The ftp from IIS is configured to handle the "Directory Style" as "MSDOS".. you only have to change it to "UNIX" for php's ftp functions work properly and handle spaces in paths and names. Greetings Previous Comments: [2002-02-14 03:55:48] [EMAIL PROTECTED] 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. [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 "Ftp upload has failed!"; } else { echo "Uploaded"; } $discon = ftp_quit($conn_id); echo "$b"; 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
Bug #10835 Updated: File Upload
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 "Ftp upload has failed!"; } else { echo "Uploaded"; } $discon = ftp_quit($conn_id); echo "$b"; 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