# cURL 转 PHP (cURL)

将 cURL 命令转换为 PHP cURL 代码片段，包含 curl_setopt、请求头和 POST 字段

> 标准页面: https://elysiatools.com/zh/tools/curl-to-php

- **分类:** Development

- **关键词:** curl, 转换, php, curl_setopt, http, api, 代码生成

## 概述

本工具可以将标准的 cURL 命令行请求快速转换为原生的 PHP cURL 代码片段。它会自动解析请求方法、URL、请求头（Headers）以及 POST 数据，并生成包含 curl_init、curl_setopt 和 curl_exec 等标准函数的 PHP 代码，帮助开发者快速在 PHP 项目中集成外部 API。

## 输入项

- **cURL 命令** (textarea): curl -X POST https://api.example.com/users \ -H "Content-Type: application/json" \ -d '{"name":"Alice"}'
- **格式化请求体** (checkbox)
- **包含注释** (checkbox)

## 适用场景

- 在使用 PHP 开发后端服务，需要将现有的 cURL 命令行测试脚本移植到 PHP 代码中时。
- 对接第三方 API 时，官方文档仅提供 cURL 示例，需要快速将其转化为 PHP 的 curl_setopt 配置。
- 调试网络请求时，需要将从浏览器开发者工具中复制的 cURL 命令转换为 PHP 脚本进行复现。

## 工作原理

- 在输入框中粘贴您需要转换的 cURL 命令行代码。
- 根据需要勾选“格式化请求体”以美化 JSON 等数据，或勾选“包含注释”以生成带有说明的代码。
- 工具会自动解析 cURL 参数（如 -X、-H、-d 等），并即时生成对应的 PHP cURL 初始化与配置代码。

## 使用案例

- 快速将 Chrome 开发者工具中“Copy as cURL”的请求转换为 PHP 爬虫或 API 调用代码。
- 将 Postman 导出的 cURL 脚本转换为 PHP 项目中的 SDK 初始化代码。
- 辅助 PHP 初学者学习如何使用 curl_setopt 配置各种 HTTP 请求头和请求体。

## 常见问题

### 这个工具支持哪些 cURL 参数？

支持常见的参数，包括 -X（请求方法）、-H（请求头）、-d/--data（请求体）、-u（认证信息）以及 URL 等。

### 转换后的 PHP 代码需要安装额外的扩展吗？

不需要，生成的代码使用的是 PHP 内置的 curl 扩展，只需确保您的 PHP 环境已启用 curl 模块即可。

### 如何处理复杂的 JSON 请求体？

勾选“格式化请求体”选项，工具会自动将 JSON 字符串整理为易读的格式，并写入 PHP 代码的 POST 字段中。

### 支持转换文件上传（-F 参数）吗？

本工具主要针对标准的 HTTP 请求头和文本/JSON 请求体进行转换，暂不支持复杂的多部分表单文件上传转换。

### 转换过程是在服务器端进行的吗？

不是，所有转换逻辑均在您的浏览器本地完成，您的 API 密钥和敏感数据不会被发送到任何服务器。

## 相关工具

- [cURL 转 Go (net/http)](https://elysiatools.com/zh/tools/curl-to-go): 将 cURL 命令转换为 Go net/http 代码片段，包含 http.NewRequest、请求头和请求体
- [cURL 转 JavaScript (axios)](https://elysiatools.com/zh/tools/curl-to-js-axios): 将 cURL 命令转换为 JavaScript axios 代码片段，使用配置对象、请求头和数据
- [cURL 转 JavaScript (fetch)](https://elysiatools.com/zh/tools/curl-to-js-fetch): 将 cURL 命令转换为 JavaScript fetch() 代码片段，包含请求头、请求体和方法
- [cURL 转 Python (requests)](https://elysiatools.com/zh/tools/curl-to-python): 将 cURL 命令转换为 Python requests 代码片段，包含请求头、数据和请求方法
- [API 契约压力测试器](https://elysiatools.com/zh/tools/api-contract-stress-tester): 根据 OpenAPI 3.x 规范批量生成边界值测试请求，并可选发送到真实后端以发现契约不一致。
- [Cron 表达式解释器](https://elysiatools.com/zh/tools/cron-expression-explainer): 解析 5 段 / 6 段 / Quartz cron 表达式为自然语言调度描述，按字段拆解，并按任意 IANA 时区列出接下来 N 次执行时间，附带 AI 生成的本地化自然语言解释
- [Tailwind 色板同步器](https://elysiatools.com/zh/tools/tailwind-color-palette-sync): 输入一组 HEX,选择命名规则(色阶 50–950 / 单名 / 对象嵌套),自动生成 tailwind.config.ts 的 theme.extend.colors 片段,每个色阶同时给出 WCAG AA/AAA 对比等级,可选暗色模式。
- [cURL 命令转 HAR 转换器](https://elysiatools.com/zh/tools/curl-to-har-converter): 将 cURL 命令转换为可移植的 HAR 1.2 请求条目。

## 示例

- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换
- [PHP 示例](https://elysiatools.com/zh/samples/php): 基础PHP代码示例，包括Web开发、现代PHP 8+特性和框架
- [Android Java 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-java): Android Java 图像处理示例，包括图像读取保存、缩放和格式转换
- [Android Kotlin 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-kotlin): Android Kotlin 图像处理示例，包括图像读取保存、缩放和格式转换
