Upload file with Box.com PHP API Upload file with Box.com PHP API curl curl

Upload file with Box.com PHP API


Using CurlFile instead of '@path' fixes the issue!


<?php    // ENTER YOUR DEVELOPER TOKEN    $token = "ekdfokeEdfdfkosdkoqwekof93kofsdfkosodSqd";    $url = "https://upload.box.com/api/2.0/files/content";    if (isset($_POST['btnUpload'])) {        $file_upload = $_FILES['file']['tmp_name'];        $json = json_encode(array(                                'name' => $_FILES['file']['name'],                                 'parent' => array('id' => 0)                            ));        $fields = array(                      'attributes' => $json,                      'file'=>new CurlFile($_FILES['file']['tmp_name'],$_FILES['file']['type'],$_FILES['file']['name'])                  );        try {            $ch = curl_init();            curl_setopt($ch,CURLOPT_URL, $url);            curl_setopt($ch, CURLOPT_HTTPHEADER, array(                'Authorization: Bearer '.$token,                 'Content-Type:multipart/form-data'            ));            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);            curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);            $response = curl_exec($ch);            curl_close($ch);        } catch (Exception $e) {            $response = $e->getMessage();        }        print_r($response);    }?><form method="post" name="frmUpload" enctype="multipart/form-data">    <tr>        <td>Upload</td>        <td align="center">:</td>        <td><input name="file" type="file" id="file"/></td>    </tr>    <tr>        <td> </td>        <td align="center"> </td>        <td><input name="btnUpload" type="submit" value="Upload" /></td>    </tr></form>

http://liljosh.com/uploading-files-to-box-content-api-v2/


$attributes = array('name'=>time().'.jpg','parent'=>array('id'=>$parent_id));$params = array('attributes' => json_encode($attributes), 'file' => "@".realpath($filename)); $headers = array("Authorization: Bearer ".$accesstoken);$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, $params);$data = curl_exec($ch);curl_close($ch);