【发布时间】:2016-02-20 08:14:21
【问题描述】:
我正在编写一种 php 代理,用于内部服务。
我正在做一个非常简单的 curl 用法,如下所示:
$ch = curl_init( $url );
//set timeout to infinit
set_time_limit(0);
curl_setopt($ch, CURLOPT_TIMEOUT, 0);
if ( strtolower($_SERVER['REQUEST_METHOD']) == 'post' ) {
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $_POST) );
}
curl_setopt($ch, CURLOPT_HTTPHEADER, getallheaders());
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $ch, CURLOPT_HEADER, true );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
//Request
list( $header, $contents ) = preg_split( '/([\r\n][\r\n])\\1/', curl_exec( $ch ), 2 );
$status = curl_getinfo( $ch );
curl_close( $ch );
我还需要在该 curl exec 中包含传入文件。我不知道文件名,只知道表单输入名称。
问题
1) 如何在 CURLOPT_POSTFIELDS 中包含 $_FILES 的内容? 2) 是否需要指定是否为二进制文件?
谢谢
【问题讨论】: