Не передается файл в curl в php 5,6 - ошибка

В php версии 5.6 и выше в ранее сделанных скриптах с curl будет не выходить передача файлов если файл передается так:

$postdata = array(
    'file' => "@".$file_path,
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);

 

В php с версии 5.6 передавать файл надо чуть подругому, с помощью класса CURLFile (в ранних версиях пхп этого класса нет - жаль что старый способ убрали в последующих версиях sad , приходится переделывать)

 

$postdata = array(
    'file' => new CURLFile($file_path),
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);

 

А можно так, чтобы всезде работал


$postdata = array();
if(class_exists('CURLFile')){
	$postdata['file'] = new CURLFile($file_path);
}else{
	$postdata['file'] = "@".$file_path;
}
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);