Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CURL在PHP中不使用link,但在命令行中使用_Php_Url_Curl_Download - Fatal编程技术网

CURL在PHP中不使用link,但在命令行中使用

CURL在PHP中不使用link,但在命令行中使用,php,url,curl,download,Php,Url,Curl,Download,我使用CURL的PHP脚本有问题。我想从另一台服务器下载文件(可能有热链接保护)。URL是这样的:example.com/script.extension?id=12345&type=xxx&another=qwerty 当我从我的网站点击这个链接时,它会在标题中发送“Referer:”,所以下载不会开始。(不带收割台,它可以工作) 我必须修改文件名,所以我使用CURL将其下载到我的服务器。当我使用该脚本执行此操作时,会创建文件,但它是空的: function我的函数(\u url){ $fp=

我使用CURL的PHP脚本有问题。我想从另一台服务器下载文件(可能有热链接保护)。URL是这样的:example.com/script.extension?id=12345&type=xxx&another=qwerty

当我从我的网站点击这个链接时,它会在标题中发送“Referer:”,所以下载不会开始。(不带收割台,它可以工作)

我必须修改文件名,所以我使用CURL将其下载到我的服务器。当我使用该脚本执行此操作时,会创建文件,但它是空的:

function我的函数(\u url){
$fp=fopen('tmp_file.extension','w+');
$user_agent='Mozilla/5.0(windowsnt 6.1;rv:8.0)Gecko/20100101 Firefox/8.0';
$options=array(
CURLOPT_VERBOSE=>1,
CURLOPT_URL=>$the_URL,
CURLOPT_CUSTOMREQUEST=>“获取”,
CURLOPT_POST=>false,
CURLOPT_USERAGENT=>$user_agent,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_头=>false,
CURLOPT_FOLLOWLOCATION=>true,
CURLOPT_编码=>“”,
CURLOPT_AUTOREFERER=>false,
CURLOPT_REFERER=>”http://example.com/",    
CURLOPT_CONNECTTIMEOUT=>120,
CULLOPT_超时=>120,
CURLOPT_MAXREDIRS=>10,
);
$ch=curl_init();
curl_setopt_数组($ch$options);
$my_exec=curl_exec($ch);
fwrite($fp,$my_exec);
卷曲关闭($ch);
fclose($fp);
}
但它可以很好地处理我网站上托管的文件(例如mysite.com/file.zip)

另外,当我通过shell运行命令时: $curl-L-o file.tmp--在此处引用完整url 它正确地下载了文件


我无法使用PHP函数执行此操作的原因是什么?

是否检查了任何PHP或curl错误?我在PHP.ini中启用了错误。没有显示任何内容。关于卷曲错误(
curl\u error
curl\u errno
)呢?错误报告不会捕获这些错误。这些错误不应该在error.log(nginx)中吗?因为我得到了CURLOPT_VERBOSE=>1。该日志文件中没有错误。