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