好久沒寫 PHP 了,連自己工作的機器上都忘了安裝 orz 這半年一直都在寫 python 啊,這次使用 PHP 來模擬短時間的大量連線。
在 Ubuntu 的安裝:
$ sudo apt-get install php5-cli php5-curl
之前只有透過 curl 使用 POST 送出 text 類的資料,這次想要模擬檔案上傳,一開始使用:
$POST_DATA = array( 'my_file' => file_get_contents( '/path/my_file' ) );
但還是送不出去,最後才發現要用:
$POST_DATA = array( 'my_file' => '@/path/my_file' );
大概是這樣才會被轉換使用 multipart/form-data 的方式,完整範例:
<?php
$url = 'http://host/upload';
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS,
array(
//'my_file' => file_get_contents( '/path/my_file_data' )
'my_file' => '@/path/my_file_data'
)
);
echo curl_exec( $ch );
curl_close( $ch );
?>
沒有留言:
張貼留言