如何使用cURL而不是exec()?
问题描述:
我得到的错误:如何使用cURL而不是exec()?
Warning:
exec()
has been disabled for security reasons
对于下面的代码,我怎么能解决这个任何想法,而无需使用exec()
?
$file = 'test.jpg';
$cmd = 'curl -F userfile=$file ' .
'-F outputencoding="utf-8" ' .
'-F outputformat="txt" ' .
'http://maggie.ocrgrid.org/cgi-bin/weocr/ocr_scene.cgi >result.txt';
exec($cmd, $result);
echo $result;
答
试试这个:
$url = 'http://maggie.ocrgrid.org/cgi-bin/weocr/ocr_scene.cgi';
$filename = 'test.jpg';
// postfields
$data = array(
'userfile' => '@'.realpath($filename)
);
$fp1 = fopen('res_error.txt','w');
$fp2 = fopen('res_header.txt','w');
// cURL
$ch = curl_init();
curl_setpot_array($ch, array(
CURLOPT_URL => $url ,
CURLOPT_POSTFIELDS => $data ,
CURLOPT_CONNECTTIMEOUT => 60 ,
CURLOPT_HEADER => false ,
CURLOPT_RETURNTRANSFER => true ,
CURLOPT_POST => true ,
CURLOPT_VERBOSE => true ,
CURLOPT_STDERR => $fp1 ,
CURLOPT_WRITEHEADER => $fp2 ,
));
$res = curl_exec($ch);
fclose($fp1);
fclose($fp2);
echo $res;
如果有周围的一种方式,它不会是非常安全的。 – SLaks 2013-05-12 03:01:21
你不能这样做吗? http://php.net/manual/en/book.curl.php – 2013-05-12 03:02:20
为什么不直接使用curl? – SLaks 2013-05-12 03:02:56