さて、curlを使用して、マシンからではなくサイトディレクトリから画像をアップロードできるかどうか疑問に思っていました。正確に行う必要があるのは、ファイルを使用して画像ディレクトリから画像をアップロードすることです。フォームで選択してください。コードで何を編集する必要があるかを知っています。感謝します。ウェブを調べましたが、検索で何も見つかりませんでした。ファイルにコンテンツbase64エンコードを取得してから、投稿する必要があると考えていました。
$upload_url = 'http://example.com/settings/upload-img';
$file_path = 'directory/image.png';
$fields = array(
"MAX_FILE_SIZE" => "",
"fileselect[]" => $file_path
);
foreach ($fields as $key => $val) {
$post_data .= $key . '=' . $val . '&';
}
$chr = curl_init();
curl_setopt($chr, CURLOPT_URL, $upload_url);
curl_setopt($chr,CURLOPT_POST, count($fields));
curl_setopt($chr,CURLOPT_POSTFIELDS, rtrim($post_data, '&'));
curl_setopt($chr, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($chr);
curl_close($chr);
base64_encode()へのイメージについて私が念頭に置いていたのは以下のとおりです。これが機能する可能性があると私が正しく考えているかどうかはわかりません。
$raw_img = base64_encode(file_get_contents('directory/image.png'));
次に、「fileselect[]」=>$raw_imgを使用します