Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mediafire API PHP Development

I found mediafire API few days ago.

http://developers.mediafire.com

and I search over the internet is there anyway to make a web app for upload files to mediafire account using API. Unfortunately I haven't found anything. Is anybody know how to create a file uploading web app with mediafire API and PHP.

like image 973
Sasindu H Avatar asked Dec 27 '12 10:12

Sasindu H


1 Answers

First get a session token.

$apikey = 'YOUR API KEY HERE';
$appid = 'APPLICATIONID';
$email = '[email protected]';
$passwd = 'PASSWORD';
$params = http_build_query(array(
   'email' => $email,
   'password'=> $passwd,
   'application_id' => $appid,
   'signature' => sha1("$email$passwd$appid$apikey"),
   'response_format' => 'json'
));
$fp = fopen('https://www.mediafire.com/api/user/get_session_token.php?'.$params, 'r');
$json = stream_get_contents($fp);
$obj = json_decode($json);
fclose($fp);

$session = $obj->response->session_token;

Now with this new $session key upload a file.

$filecontents = file_get_contents("/path/to/file");
$filesize = strlen($filecontents);
$opts = array(
  'http'=>array(
    'method'=>"POST",
    'header'=> "x-filename : ANYFILENAMEYOUWANT\r\n".
               "x-filesize : $filesize\r\n"
  )
);
$context = stream_context_create($opts);
$params = http_build_query(array(
    "session_token" => $session
));
$fp = fopen('http://www.mediafire.com/api/upload/upload.php?'.$params, 'r', false, $context);
fwrite($fp, $filecontents);
$result = stream_get_contents($fp);
fclose($fp);

Important Note: Please try it yourself. I have not tested it. Just saw the API and wrote this code. So it wont work on first go. You'll need to modify to make it work.

like image 178
Shiplu Mokaddim Avatar answered Oct 02 '22 10:10

Shiplu Mokaddim