Php 无法使用cURL打开本地文件

Php 无法使用cURL打开本地文件,php,curl,Php,Curl,嗨 我正在使用以下代码: $curl_handle=curl_init(); curl_setopt($curl_handle, CURLOPT_URL, SITE_PATH . '../../blog/index.php'); $xml_file = curl_exec($curl_handle); preg_match("/<title>(.*)<\/title>/i", $xml_file, $matches); $title= $matches[1]; curl_

我正在使用以下代码:

$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL, SITE_PATH . '../../blog/index.php');
$xml_file = curl_exec($curl_handle);
preg_match("/<title>(.*)<\/title>/i", $xml_file, $matches);
$title= $matches[1];
curl_close($curl_handle);
$title= $matches[1];
$curl\u handle=curl\u init();
curl_setopt($curl_handle,CURLOPT_URL,SITE_PATH.../blog/index.php');
$xml\u file=curl\u exec($curl\u handle);
preg_match(“/(.*)/i”,$xml_文件,$matches);
$title=$matches[1];
卷曲关闭($curl\u handle);
$title=$matches[1];
这段代码应该打开一个本地文件并搜索title标记,以将其作为变量值。但尽管没有显示任何错误,但作为$title,我什么也没有得到。 有什么不对劲吗


谢谢。

为什么不使用现有的文件处理程序,例如
file\u get\u contents()
fopen()
。cURL用于外部HTTP请求,而不是内部目录请求

$xml_file = file_get_contents(SITE_PATH . '../../blog/index.php');
preg_match("/<title>(.*)<\/title>/i", $xml_file, $matches);
$title= $matches[1];
$xml\u file=file\u get\u内容(SITE\u PATH.'../blog/index.php');
preg_match(“/(.*)/i”,$xml_文件,$matches);
$title=$matches[1];

虽然你的道路似乎不正确。很可能是
。/../blog/index.php
,或者
,SITE\u PATH./blog/index.php'

为什么不直接使用现有的文件处理程序,例如
file\u get\u contents()
fopen()
。cURL用于外部HTTP请求,而不是内部目录请求

$xml_file = file_get_contents(SITE_PATH . '../../blog/index.php');
preg_match("/<title>(.*)<\/title>/i", $xml_file, $matches);
$title= $matches[1];
$xml\u file=file\u get\u内容(SITE\u PATH.'../blog/index.php');
preg_match(“/(.*)/i”,$xml_文件,$matches);
$title=$matches[1];

虽然你的道路似乎不正确。很可能是
。/../blog/index.php
,或者
,站点路径。

文件获取内容出于某种原因对我不起作用。一些我无法覆盖自己的服务器限制。
SITE\u PATH
变量是否包含HTTP URL?如果是这样,请删除。对不起,凯恩,我看不出站点路径的价值,但我应该意识到这一点。你能做一个
var_转储(ini_get('disable_functions'))然后看看你得到了什么?我感觉这些函数是由于某种原因被禁用的。对不起,我想你说的SITE_PATH是指“../../blog/index.php”部分。我必须在其他地方定义它吗?@Cain不。它不能,但如果它包含URL,例如
http://example.com
,或类似的内容,这将不起作用。原因是大多数主机提供商都会禁用此功能,我相信MAMP和WAMP会禁用
allow\u url\u fopen
。而且你的卷发不起作用,所以这一切似乎都有可能。出于某种原因,文件内容对我来说不起作用。一些我无法覆盖自己的服务器限制。
SITE\u PATH
变量是否包含HTTP URL?如果是这样,请删除。对不起,凯恩,我看不出站点路径的价值,但我应该意识到这一点。你能做一个
var_转储(ini_get('disable_functions'))然后看看你得到了什么?我感觉这些函数是由于某种原因被禁用的。对不起,我想你说的SITE_PATH是指“../../blog/index.php”部分。我必须在其他地方定义它吗?@Cain不。它不能,但如果它包含URL,例如
http://example.com
,或类似的内容,这将不起作用。原因是大多数主机提供商都会禁用此功能,我相信MAMP和WAMP会禁用
allow\u url\u fopen
。而且你的卷发不起作用,所以看起来很有可能。我想你必须在路径前面加一个@。@character通知curl它是本地路径。我知道这很奇怪。还是不行。问题是我不知道为什么,因为没有任何错误。我认为你必须在路径前面加一个@。@character通知curl它是本地路径。我知道这很奇怪。还是不行。问题是我不知道为什么,因为没有任何错误。