我很想知道是否有办法从SERVER a下载文件并将其放在SERVER B上,SERVER a可以动态更改下载文件中的内容。
它背后的要点是,我正试图为一个工具构建一个错误处理程序,当作为工具所需部分的文件丢失时,该程序将被使用。这就像WordPress意识到你的网站上有一个文件丢失,你的网站向WordPress.com发送请求,以获取丢失的文件,如下所示:
(SERVER B):PHP在include
上吐出错误
(SERVER B):PHP试图通过说SERVER B缺少FILE A
、FILE B
、FILE C
等来从SERVER a获取丢失文件的文件安装程序。
对于上面的步骤,我认为可以使用以下方法完成:
file_put_contents("missing_installer.php", "http://SERVER_A.com/mi_inst_installer.php?query-asking-for-missing-item(s)=missing-item", 'r'));
注意(仅当您不了解以上代码的作用时):以上代码应该告诉SERVER A的PHP文件mi_inst_installer.PHP吐出数据(安装程序),并将其放入SERVER B 上的文件missing_installer.PHP中
(SERVER B):PHP使用新获得的missing_installer.PHP 安装丢失的文件
有什么想法吗?
您也可以使用cURL在SERVER A端进行动态:
function curl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$return = curl_exec($ch);
curl_close ($ch);
return $return;
}
file_put_contents('missing_installer.php', curl('http://SERVER_A.com/mi_inst_installer.php?query-asking-for-missing-item(s)=missin-item'));
只有当allow_url_fopen
设置为1时,Jacky的答案才是好的。
还使用PHP对cURL传输选项的引用(允许您自定义请求的发送和/或返回方式)。此外,习惯cURL的一般工作方式也是个好主意;请参阅其他PHP参考(客户端URL库)
试试这样的东西:
$mycontent = file_get_contents('http://SERVER_A.com/mi_inst_installer.php?query-asking-for-missing-item(s)=missin-item');
file_put_contents('missing_installer.php', $mycontent));
您需要先获取(使用file_get_contents()
)下载文件的内容,然后将其放入file_put_contents()
的第二个参数中。