RE: [PHP] Copy Function Errors
| From: | Wei, Alice J. | Date: | Thu, 17 Jul 2008 13:36:27 +0000 |
| Subject: | RE: [PHP] Copy Function Errors | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-276955@lists.php.net to get a copy of this message | ||
Hi Alice...
I just caught/saw this thread. I'm asuming you haven't found/solved what you're
trying to do.
So, What exactly are you trying to accomplish? What OS are you running on both the client/server
machine? Are you trying to copy from a directory on one box, to a directory on another box? Is this
a one time thing? Are the boxes on the same network (physically close together)? Are you able to
login to the remote box from your initial server?
Let me know what you're looking to do, and I can probably get you going.
-regards...
All I wanted to do is to copy the file that is sitting on a remote machine to have it copied it
over to another remote machine. Since I put the code snippet below on the server that is supposed to
accept the files, I would say I am "downloading" the file here from a remote server to a
local server..
It is weird, because I followed Robert's advice and cut out the http://
snippet in my ftp server address, and I have tried both the apache and root password of the actual
log in of the FTP, which neither of them worked. Both of the servers have the firewall DNS set up
properly, and in my PHP info page, it appears that my FTP is enabled.
Is there something else I have missed?
// define some variables
$local_file = "C:/Inetpub/wwwroot/test/$id/data.tar";
$server_file = "http://192.168.10.63/test/$id/data.tar";
// set up basic connection
$ftp_server="192.168.10.63";
$conn_id = ftp_connect($ftp_server);
// login with username and password
$ftp_user_name="root";
$ftp_user_pass="xxxxxx!";
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// try to download $server_file and save to $local_file
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
echo "Successfully written to $local_file\n";
} else {
echo "There was a problem\n";
}
// close the connection
ftp_close($conn_id);
Thanks in advance.
Alice
-----Original Message-----
From: Boyd, Todd M. [mailto:tmboyd1@ccis.edu]
Sent: Wednesday, July 16, 2008 2:28 PM
To: Wei, Alice J.
Cc: php-general@lists.php.net
Subject: RE: [PHP] Copy Function Errors
> -----Original Message-----
> From: Wei, Alice J. [mailto:ajwei@indiana.edu]
> Sent: Wednesday, July 16, 2008 3:46 PM
> To: Robert Cummings
> Cc: php-general@lists.php.net
> Subject: RE: [PHP] Copy Function Errors
---8<--- snip
> > Is there something I could do here to allow my file be "copied" to
> the remote server?
>
> Use the ftp functions.
>
> Thanks for the tip. I have revised my code to:
>
> // define some variables
> $local_file = "C:/Inetpub/wwwroot/test/$id/beamdata.tar";
> $server_file =
> "http://192.168.10.63/test/$id/beamdata.tar";
>
> // set up basic connection
> $ftp_server="http://192.168.10.63";
> $conn_id = ftp_connect($ftp_server);
>
> // login with username and password
> $ftp_user_name="apache";
> $ftp_user_pass="xxxxx";
> $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
>
> // try to download $server_file and save to $local_file
> if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
> echo "Successfully written to $local_file\n";
> } else {
> echo "There was a problem\n";
> }
>
> // close the connection
> ftp_close($conn_id);
>
> I have put this snippet in the local server of where I want the files
> to be copied to. However, I see this on my remote server in the logs:
>
> 192.168.10.62 - - [16/Jul/2008:16:40:24 -0400] "GET
> /beam_calculation.php?id=145&no=16 HTTP/1.1" 200 22 "-" "Mozilla/4.0
> (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR
> 2.0.50727)"
>
> Is there something I have missed here?
Alice,
Here are some Wikipedia articles that should give you a good start on
understanding the fundamental differences between the two protocols you
are confusing with each other:
http://en.wikipedia.org/wiki/FTP
http://en.wikipedia.org/wiki/HTTP
HTTP itself does not intrinsically handle file uploads in a
server/client relationship. Web forms that include file uploads
generally have a handler function on the other end, and post files via a
form element.
FTP's main function is the transfer of files (hence [F]ile [T]ransfer
[P]rotocol), and is more in line with what you're trying to do here.
HTH,
Todd Boyd
Web Programmer
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php