Php curl У вас нет прав для доступа к файлу при загрузке изображения - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь загрузить изображение на сервер, используя php curl_setopt, но я всегда получаю 403 Forbidden всякий раз, когда я включаю base64_encode($image_data), но без этого оно будет успешно опубликовано. Я также пытался изменить свой php.in, но все же пока. Раньше все работало нормально, пока я не переустановил новую ОС на моем сервере Centos, я действительно не знаю причину.

МОЙ PHP.INI

memory_limit=512M
upload_max_filesize=12M
post_max_size=128M
max_execution_time=60
max_input_vars=4000
#session.save_path=\\
session.save_path="/sessions_tmp"
magic_quotes_gpc=Off
session.gc_maxlifetime=365 * 24 * 60 * 60
session.cookie_lifetime=365 * 24 * 60 * 60
session.gc_divisor=1
session.gc_probability=1

МОЙ PHP ЗАГРУЗИТЬ

if(($fileHandle = fopen($_FILES['image']['tmp_name'], "r"))){
$data = fread($fileHandle, filesize($_FILES['image']['tmp_name']));
$postVar  = array(
  /*This will work but using $data won't work
   'image' => base64_encode("UploadTest"),*/
  'image' => base64_encode($data), 
  'product_id' => '1020039393',
  'image_name' => 'tempCarImage.png',
  'file_name' => "CarImage",
  'upload' => 'GALLERY',
  'tag' => 1,
  'extension' => 'png',
  'chef_key' => 'M573Hakd'
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://example.com/assets/upload.php");
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_FRESH_CONNECT, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: Client-ID ' . upload_cdn_server_key));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_MAXREDIRS, 10);
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); 
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_ENCODING, '');
curl_setopt($curl, CURLOPT_POSTFIELDS, $postVar);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

$out = curl_exec($curl);
$err = curl_error($curl);
curl_close ($curl);
fclose($fileHandle);
$pms = json_decode($out,true);
}

Пожалуйста, кто-нибудь может мне помочь, я действительно не знаю, что вызывает эту проблему.

...