Yo lo hago con python no se si te sirva,pero la idea seria la misma. primero obtener el servidor de subida, para eso tienes que obtener el contenido de la pagina principal donde subes archivos directamente.
Ver el archivo adjunto 167795
lo importante es solo recuperar el servidor de subida, y saber cual es tu sess_id. Te dejo el codigo de python que uso para que veas como adaptarlo a php
def upload_files(self, folder, file):
id_f = self.get_folder(folder)
exist, url2 = self.get_file_exist(folder, file)
if exist:
//Obtengo el contenido de la pagina principal
response = self.getmethod("
https://uptobox.com/","")
//Busco el servidor para subir y genero url para hacer POST
url = 'https:'+re.findall('<form id="fileupload" action="(.+)"', response.text)[0].split('"')[0]+'?sess_id={{Aquí tu session}}'
//Creo estructura del archivo a subir
files_r = [('files[]', (file, open(file, 'rb'), 'multipart/form-data'))]
//Subo archivo
result = requests.post(url, files=files_r)
data = json.loads(result.text)
move = self.move_file(data["files"][0]["url"].split("/")[-1], id_f)
return data["files"][0]["url"]
Las lineas no comentadas son cosas adicionales que hago xD como obtener id de la carpeta donde quiero subir y ver si ya he subido el archivo con anterioridad