你如何在PHP中生成Boundary?

时间:2012-08-06 09:25:02

标签: php curl multipartform-data boundary

我正在使用Curl库来模拟“multipart-form-data”提交,然后我注意到我需要生成一个唯一的字符串,但我不知道该怎么做。

例如:

Content-Type: multipart/form-data;  
boundary=---------------------------491299511942
Content-Length: 95418
-----------------------------491299511942
Content-Disposition: form-data; name="a"
-----------------------------491299511942
Content-Disposition: form-data; name="b"
/page.asp
-----------------------------491299511942
Content-Disposition: form-data; name="c"
-----------------------------491299511942
Content-Disposition: form-data; name="d"
true
-----------------------------491299511942
Content-Disposition: form-data; name="e"
1
-----------------------------491299511942
Content-Disposition: form-data; name="f"

如何生成该边界?从图书馆或只是一些黑客?

编辑:在此示例中,边界= 491299511942

2 个答案:

答案 0 :(得分:3)

如果您使用curl,则不需要“手动”准备数据

$post_data = array(
    'a' => '@/absolute/path/to/file',
    'b' => '@/absolute/path/to/file',
);
curl_setopt($ch, CURLOPT_POST, true)
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); 

答案 1 :(得分:2)

要回答实际问题,您可以执行以下操作:

$boundary = hash('sha256', uniqid('', true));