本文实例讲述了php生成curl命令行的方法。分享给大家供大家参考,具体如下:
具体代码如下:
function getCurlCommand()
{
try {
if (php_sapi_name() == 'error cli'){
throw new Exception("cli");
}
$curlCommand = 'curl ';
$postData = $getData = '';
if($_GET) {
$gets = http_build_query($_GET);
$getData .= strpos($curlCommand, '?') ? '&' . $gets : '?' . $gets;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' ) {
$posts = http_build_query($_POST);
$postData = ' -d "' . $posts . '"';
}
$path = isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : $_SERVER['PHP_SELF'];
$curlCommand .= '"' . "http://{$_SERVER['HTTP_HOST']}" . $path . $getData . '"';
if ($postData) {
$curlCommand .= $postData;
}
$headers = array();
if (function_exists('getallheaders')) {
$headers = getallheaders();
} else {
foreach ($_SERVER as $name => $value) {
if (substr($name, 0, 5) == 'HTTP_') {
$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
}
}
}
foreach ($headers as $key => $value) {
if($key == 'Accept-Encoding') $value = str_replace('gzip, ','',$value);
$curlCommand .= ' -H "' . $key . ':' . $value . '"';
}
return $curlCommand;
} catch (Exception $e) {
return $e->getMessage();
}
}
echo getCurlCommand();希望本文所述对大家php程序设计有所帮助。
JTBC CMS(5.0) 是一款基于PHP和MySQL的内容管理系统原生全栈开发框架,开源协议为AGPLv3,没有任何附加条款。系统可以通过命令行一键安装,源码方面不基于任何第三方框架,不使用任何脚手架,仅依赖一些常见的第三方类库如图表组件等,您只需要了解最基本的前端知识就能很敏捷的进行二次开发,同时我们对于常见的前端功能做了Web Component方式的封装,即便是您仅了解HTML/CSS也
3
更多相关教程请访问 php编程从入门到精通全套视频教程
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号