我正在尝试使用gfycat API创建一个gfycat,通过curl使用php上传文件但是它不起作用而且var_dump($ response)给了我bool(false)。
我的代码:
class Client < ActiveRecord::Base
has_many :check_ins, -> { order(week: :asc) }, dependent: :destroy
has_many :weigh_ins, :through => :check_ins, dependent: :destroy
end
class CheckIn < ActiveRecord::Base
belongs_to :client
has_one :weigh_in, dependent: :destroy
end
非常感谢帮助。感谢。
答案 0 :(得分:1)
顺便说一句,我得到了这个:
$file_path = "ABSOLUTE_FILE_PATH".$newfilename;
$cFile = curl_file_create(realpath($file_path));
$data = array(
"key" => $newfilename,
"file" => $cFile,
);
$target_url = "https://filedrop.gfycat.com";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_URL, $target_url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: multipart/form-data"
));
$response = curl_exec($ch);
curl_close($ch);
答案 1 :(得分:0)
调试curl代码时,启用CURLOPT_VERBOSE并检查stderr日志通常是个好主意。此外,如果curl_exec重新加入bool(false),则表示传输存在问题,您可以使用curl_error()函数来获取错误消息。最后,不要手动设置标题require(<module>)
,curl会为你设置标题,而且与你不同,curl在这样做时不会犯任何错别字,更糟糕的是,你冒着覆盖的风险/删除标题的边界参数。
试
"Content-Type: multipart/form-data"
现在,如果出现错误,它应该会在异常错误日志中为您提供有关curl错误的详细日志。