public function Upload($callback) { $this->Login(); if (isset($this->cookie)) { parent::curly_init('http://filejungle.com'); $this->options[CURLOPT_HTTPHEADER] = array('Cookie: PHPSESSID=' . $this->cookie); $response = parent::curly_get(array('' => ''), function () { }); if (preg_match("/uploadUrl = 'http:\\/\\/(?<upload_url>.*)';/", $response, $matches)) { $this->upload_url = isset($matches['upload_url']) ? 'http://' . $matches['upload_url'] : NULL; } if (isset($this->upload_url)) { $filesize = filesize($this->filePath); parent::curly_init($this->upload_url); $this->options[CURLOPT_HTTPHEADER] = array('X-File-Name: ' . basename($this->filePath), 'X-File-Size: ' . $filesize, 'Content-Type: multipart/form-data', 'Origin: http://filejungle.com'); $json_obj = @json_decode(parent::curly_put(fopen($this->filePath, 'r'), $filesize, $callback)); if (isset($json_obj)) { return 'http://www.filejungle.com/f/' . $json_obj->shortenCode; } } } }