CURLを用いたファイルキー取得エラーの原因について

PHPにて下記コードによる、画像アップロード用のファイルキー取得のエラーの原因を模索しています。以前(10月上旬)は、下記のコードで正常にファイルキーを取得できていたのですが、それ以降ファイルキーが取得できなくなりました。
ご教示いただけますと幸いです。
よろしくお願いします。


$subdomain = ‘XXXXXXXXXXXXXX’;
$appid = ‘XXX’;
$token = ‘XXXXXXXXXXXXXXXXXXXXXX’;
$filePath = ‘XXXXXXXXXXXXXXXXXXXXXX’;
$fileName = mb_convert_encoding(mb_substr($filePath, mb_strrpos($filePath, DIRECTORY_SEPARATOR) + 1), “UTF-8”, “auto”);

$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($finfo, $filePath);
finfo_close($finfo);

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_CUSTOMREQUEST => ‘POST’,
CURLOPT_URL => “https://”. $subdomain . “.cybozu.com/k/v1/file.json”,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => “POST”,
CURLOPT_POSTFIELDS => “------WebKitFormBoundary7MA4YWxkTrZu0gW\r\n”.
“Content-Disposition: form-data; name="file"; filename="$fileName"\r\n”.
“Content-Type:”. $mime_type.“\r\n\r\n”.
file_get_contents($filePath) . “\r\n” .
“------WebKitFormBoundary7MA4YWxkTrZu0gW–”,
CURLOPT_HTTPHEADER => array(
“X-Cybozu-API-Token:”.$token,
“content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW”
)
));

$response = curl_exec($curl);


正常時の返り値: {“fileKey”:“XXXXXXXXXXXXXXXXXXXXXXXXXX”}
現在の返り値: “bool(false)”
となっています。


PHPのことは何も知りませんが

$appid = ‘XXX’;

代入されていますが送信していないようです。
本当に10月上旬まで動いていたのでしょうか?
それとも
掲載用にマスクする作業中に消してしまったのでしょうか?

CURLOPT_CUSTOMREQUEST => “POST”,

が2行あるので、このあたりかもしれない。

PHP: curl_setopt_array - Manual
https://www.php.net/manual/ja/function.curl-setopt-array.php
戻り値
すべてのオプションがうまく設定できた場合に true を返します。 うまく設定できないオプションがあった時点で即時に false が返され、options 配列に含まれるそれ以降のオプションは無視されます。

丁寧なご回答ありがとうございます。
10月上旬までは、上記のコードで機能しておりました。

appidをセットしてみたり、2行あるCURLOPT_CUSTOMREQUESTを削除してみたりと、試してみましたがやはり同じエラーが返ってきてしまいます。

curl_setopt_arrayのマニュアル読ませていただきました。
何かしらのオプション設定がうまくされていないということなんですね。
はっきりとした原因はまだわかっておりませんが、オプションを変更しながら試してみます。

もし私なら
コマンドラインの curlコマンドで
文字列フィールドが取得できるか?を確認
添付ファイル関連を取得できるか?
PHP環境でテストしていき、不具合の発生している範囲を狭くしていきます。
PHPのデバッガーも試されると良いと思います。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。