我在000webhost上有一个免费的主机,我有一个MySQL数据库,我存储数据。
我发现由于某种原因我只能从该网站连接到该数据库。如果我要复制和粘贴,比如说,从该服务器到另一个服务器的index.php,我会被拒绝访问。
我的目标是从该数据库中获取一些数据并将其显示在另一台服务器上,因为直接方法不起作用,我在db服务器上创建了一个文件,该文件将在本地运行查询而另一个文件在另一台服务器上运行这将使用file_get_contents()函数来获取数据。
加载文件(在带有db的服务器上)
mysql_connect($host, $username, $password)or die("cannot connect");
mysql_select_db($database)or die("cannot select DB");
$Qry = mysql_query("SELECT * FROM dctt_users ORDER BY FirstSave");
$num = mysql_num_rows($Qry);
$Qry2 = mysql_query("SELECT TimesSaved FROM dctt_users WHERE UserName = 'Default Name' ORDER BY FirstSave");
$line = mysql_fetch_array($Qry2);
$num = $num + $line['TimesSaved']-1;
echo $num;
获取文件(在与mysql数据库无关的服务器上)
$filename = "http://blink-forum.site90.com/dctt/test.php";
$content = file_get_contents($filename);
echo $content;
即使它看起来确实应该可以正常工作,但事实并非如此。
有没有人知道这方面的解决方案,或者即使我有办法直接连接?
答案 0 :(得分:2)
来自the manual(强调我的):
如果已启用fopen包装,则可以使用此函数将URL用作文件名
我打赌你的超便宜的虚拟主机没有启用此功能,以防止用户使用带宽报废网站等。当您通过http。
请求页面时,文件驻留在同一服务器上的事实无关紧要另一种方法是使用cURL发出http请求并获取响应。
<?php
// create curl resource
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, "example.com");
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// $output contains the output string
$output = curl_exec($ch);
// close curl resource to free up system resources
curl_close($ch);
?>
答案 1 :(得分:1)