使用cURL加载文件

时间:2009-09-30 05:51:02

标签: php curl

请耐心等待我,我正在尝试学习php以及如何处理文件&在服务器端设置。一切都很好,直到我最近不得不切换我的托管网站。这个新的托管网站关闭了url_fopen

我之前的脚本正在使用:

file_get_contents ("that.htm");

但现在我需要使用cURL。我已经想出如何加载远程文件没有任何问题。然后我保存它(仍然使用file_put_contents,因为它不受限制)并重新访问此缓存文件,如下所示:

$path = $_SERVER["PHP_SELF"];
$file = replace("this.php","that.htm",$path);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $file);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HEADER, 0);

$data = curl_exec($ch);
curl_close($ch);

*注意:“this.php”是包含上述脚本的文件,“that.htm”是同一目录中的缓存文件(它里面没有像<html>那样的所有html文件或<body>,但它确实有一个<table>,如果这有所不同)。此外,“that.htm”的文件权限设置为777。

我的问题是我没有得到$ data的任何输出(我可以看到“that.htm”有适当的内容,因为我可以直接在浏览器中加载文件)。

所以我没有输出设置$ file:

我试图在$ data之后添加一个var_dump,但显然脚本永远不会到达那一点。

我确定这是愚蠢的事,但在我搜索网络和本网站时,我无法弄明白(所有的例子都只是说“http://example.com”)。

1 个答案:

答案 0 :(得分:1)

看起来您想要访问与初始脚本文件位于同一目录中的(静态)文件。在这种情况下,不需要http请求 当您像这样增加错误报告级别时,脚本会打印什么?

error_reporting(E_ALL);
ini_set('display_errors', 1);

file_get_contents ("./that.htm");

是否有任何错误/警告信息?