我不是在询问如何从浏览器将文件上传到PHP脚本,因为已经有很多教程了。我在询问以下问题:
我有一个PHP脚本,已经接收了用户的文件,并且该文件目前位于服务器1的硬盘上。我想使用常规的HTTP POST协议,将该文件从服务器1上传到服务器2上的一个PHP脚本,以便可以将服务器2上的PHP脚本编写为标准的文件上传处理程序。
我找不到任何教程,因为它们都涉及浏览器->服务器1。关于PHP上传的所有教程都讨论FTP,但我不想使用该协议。
请帮忙?
我不是在询问如何从浏览器将文件上传到PHP脚本,因为已经有很多教程了。我在询问以下问题:
我有一个PHP脚本,已经接收了用户的文件,并且该文件目前位于服务器1的硬盘上。我想使用常规的HTTP POST协议,将该文件从服务器1上传到服务器2上的一个PHP脚本,以便可以将服务器2上的PHP脚本编写为标准的文件上传处理程序。
我找不到任何教程,因为它们都涉及浏览器->服务器1。关于PHP上传的所有教程都讨论FTP,但我不想使用该协议。
请帮忙?
$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);
你可以像处理常规文件上传一样处理 server2 部分。有关这些选项的更多信息,请参见curl_setopt()
。<?php
$server = new Soap_Server( null, array('uri'=>'somerui') );
$server->addFunction( 'receiveFile' );
function receiveFile( $file ) {
file_put_contents( 'somepath', base64_decode( $file ) );
}
?>
发送服务器:
<?php
$client = new Soap_Client( null, array('uri'=>'somerui') );
$client->receiveFile( base64_encode( file_get_contents( 'somepath' ) );
?>