I\'m not asking about uploading a file from a browser to a php script, there\'s plenty of tutorials about that already. I\'m asking about this:
I have a php script t
You need two Scripts.
First script that will in way emulate browser behavior, it will take a file and send it to seconds script, that will handles it just like regular file upload script.
My guess you have to use "http_post_fields" for the first script, it seems to handle files. http://us2.php.net/manual/en/function.http-post-fields.php
Good Luck.
You could use SOAP to send the file from one server to the other.
Receiving server:
<?php
$server = new Soap_Server( null, array('uri'=>'somerui') );
$server->addFunction( 'receiveFile' );
function receiveFile( $file ) {
file_put_contents( 'somepath', base64_decode( $file ) );
}
?>
Sending server:
<?php
$client = new Soap_Client( null, array('uri'=>'somerui') );
$client->receiveFile( base64_encode( file_get_contents( 'somepath' ) );
?>
You can use CURL for this. Something like this should do it.
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('file' => '@/path/to/file.txt'));
curl_setopt($ch, CURLOPT_URL, 'http://server2/upload.php');
curl_exec($ch);
curl_close($ch);
You can then handle the the server2 part as a regular file upload. See curl_setopt() for more information on those options.