ホームページ > バックエンド開発 > PHPチュートリアル > PHP 5.5以降におけるCURLアップロードの問題について(WeChat 'errcode':41005,'errmsg',)

PHP 5.5以降におけるCURLアップロードの問題について(WeChat 'errcode':41005,'errmsg',)

WBOY
リリース: 2016-06-23 13:25:50
オリジナル
839 人が閲覧しました

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);
ログイン後にコピー

以上です。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート