如何从完全不同的服务器读取文件内容,然后显示内容。我稍后会更改代码以正确的方式使用返回的信息。
答案 0 :(得分:4)
您可以使用file_get_contents
或cURL
。
以下示例下载google.com主页的HTML并在屏幕上显示。
file_get_contents方式:
$data = file_get_contents("http://www.google.com/");
echo "<pre>" . $data . "</pre>";
cURL方式:
function get_web_page( $url )
{
$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle all encodings
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect
CURLOPT_TIMEOUT => 120, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
);
$ch = curl_init( $url );
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
return $header;
}
//Now get the webpage
$data = get_web_page( "https://www.google.com/" );
//Display the data (optional)
echo "<pre>" . $data['content'] . "</pre>";
答案 1 :(得分:1)
我建议采用以下几种方法:
<强> HTTP:强>
如果可能,使用PHP的内置文件流功能(例如file_get_contents()
)或cURL通过普通HTTP requests从服务器下载文件。但是,如果要下载PHP文件的源代码,这将无效(您将获得它的输出)。一个例子:
<?php
// Most basic HTTP request
$file = file_get_contents('http://www.example.com/path/to/file');
// HTTP request with a username and password
$file = file_get_contents('http://user:password@www.example.com/path/to/file');
// HTTPS request
$file = file_get_contents('https://www.example.com/path/to/file');
<强> SSH:强>
如果您安装了SSH2扩展,并且您具有对服务器的SSH访问权限,则可能需要通过SFTP(SSH文件传输协议)下载该文件:
<?php
// Use the SFTP stream wrapper to download files through SFTP:
$file = file_get_contents('ssh2.sftp://user:password@ssh.example.com/path/to/file');
<强> FTP:强>
如果服务器具有您可以访问的FTP服务器,则可能需要使用FTP或FTPS(安全FTP,如果支持)下载文件:
<?php
// Use the FTP stream wrapper to download files through FTP or SFTP
// Anonymous FTP:
$file = file_get_contents('ftp://ftp.example.com/path/to/file');
// FTP with username and password:
$file = file_get_contents('ftp://user:password@ftp.example.com/path/to/file');
// FTPS with username and password:
$file = file_get_contents('ftps://user:password@ftp.example.com/path/to/file');
答案 2 :(得分:0)
您可以使用curl
$ch = curl_init("http://www.google.com"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $content_of_page = curl_exec($ch); curl_close($ch);