WeChat が提供する方法は、@+ファイルのパスをアップロード用の配列に割り当てることです
$data = array( 'file' => '@/PATH/TO/FILE', //....其他字段 ); curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
ここで問題が発生します。この @ は 5.5 より前のバージョンでのみ使用できますが、5.5 以降のバージョンでは無効ですアップロードするには CURLFile クラスを使用する必要があります:
$data = array( 'file' => new CURLFile('/PATH/TO/FILE'), //....其他字段 ); curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
ただし、少数のサーバーが直接の新しい CURLFile クラスをサポートしていないことが判明したため、このような場合は、curl_file_create を使用して CURLFile オブジェクトを作成できます (この関数はこの関数のエイリアス: CURLFile ::__construct() )
$data = array( 'file' => curl_file_create('/PATH/TO/FILE'), //....其他字段 ); curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
以上です。