以下脚本有效:
move_uploaded_file($_FILES['file']['tmp_name'], $filename);
echo exec('curl -X POST --data-binary @' . $filename . ' http://remote.api:8888/index/add');
以下没有: -
我们很快就会禁用exec(),并且会进行大量的强化,因此上述解决方案无效。
我尝试了以下内容:
move_uploaded_file($_FILES['file']['tmp_name'], $filename);
$filetype = $_FILES['file']['type'];
$ch = curl_init('http://remote.api/index/add');
curl_setopt($ch, CURLOPT_PORT, 8888);
curl_setopt($ch, CURLOPT_POST, TRUE);
$cFile = curl_file_create($filename, $filetype, $_FILES['file']['name']); // php5.5+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, ['file' => $cFile]);
$x = curl_exec($ch);
curl_close($ch);
服务器不响应此解决方法。
我错过了什么?请注意我使用的是PHP 5.5 curl_create_file
感谢您的帮助:)