- Регистрация
- 19.01.2016
- Сообщения
- 121
- Благодарностей
- 3
- Баллы
- 18
Как внедрить код на загрузку файла на файлообменнике через API. Сам API есть, но как с ним работать не знаю.
- class Uploader
- {
- var $userid;
- var $uploadURL;
- var $postParams = array ();
- function Uploader($userid)
- {
- $this->userid = $userid;
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, 'https://depfile.com/api/upload.php');
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- $postResult = curl_exec($ch);
- curl_close($ch);
- $res = json_decode($postResult);
- $this->uploadURL = $res->action;
- foreach($res->postparams as $fieldName => $fieldValue)
- {
- $this->postParams[$fieldName] = $fieldValue;
- }
- $this->postParams['userid'] = $userid;
- }
- function UploadFile($file)
- {
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
- curl_setopt($ch, CURLOPT_URL, $this->uploadURL);
- curl_setopt($ch, CURLOPT_POST, 1);
- $this->postParams['upfile'] = "@".$file;
- curl_setopt($ch, CURLOPT_POSTFIELDS, $this->postParams);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- $postResult = curl_exec($ch);
- if (curl_errno($ch))
- {
- print curl_error($ch);
- print "Unable to upload file.";
- exit();
- }
- curl_close($ch);
- $result = json_decode($postResult, true);
- if(isset($result['error']))
- return false;
- else{
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, 'https://depfile.com/api/upload.php?fileid='.$result['userfileid']);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- $postResult = curl_exec($ch);
- curl_close($ch);
- return $postResult;
- }
- }
- }
- $userid = XXXXX;
- $upload = new Uploader($userid);
- $resulttxt = $upload->UploadFile('suzuki.skp');
- //file data
- print_r(json_decode($resulttxt, true));


