Search code examples
phpapiuploadingmediafire

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.


Solution

  • First get a session token.

    $apikey = 'YOUR API KEY HERE';
    $appid = 'APPLICATIONID';
    $email = 'your@email.com';
    $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.