buenos dias .
llevo varias semanas dando vueltas e intentando lo siguiente:
quiero subir a megaupload.com un file , por medio de curl desde mi servidor.
con el formulario si lo consigo. pero esto es desde mi maquina local. no un archivo del servidor.
Código PHP:
<form method="post" enctype="multipart/form-data"
action="http://www27.megaupload.com/upload_done.php?UPLOAD_IDENTIFIER=5a157e5fb31b6d11dfaf880c74c29518">
<input type="hidden" name="UPLOAD_IDENTIFIER" value="5a157e5fb31b6d11dfaf880c74c29518">
<input type="hidden" name="sessionid" value="5a157e5fb31b6d11dfaf880c74c29518">
<input type="file" name="file">
<input type="hidden" name="message" value="testissng">
<input type="submit" value="submit">
</form>
este formulario consigue enviar un archivo a megaupload.com y este devuelve un script con la url tipica de megaupload.com
algo asi
Código:
<script language="Javascript">
document.domain = 'megaupload.com';
parent.progress = '00:00:00 - 44.79 KB of 44.79 KB';
parent.downloadurl = 'http://www.megaupload.com/?d=NBO7682Z';
parent.uploaddone();
</script>
el problema es que con curl no consigo que me funcione
me pasa la respuesta de megaupload pero no consigue enviar el archivo.
creo que mi problema es que el archivo no se envia como seria el caso cuando lo hacemos por formulario.
lo que uso en curl es
Código PHP:
$postData['UPLOAD_IDENTIFIER'] = "41594851.1121416422";
$postData["sessionid"] = '216392970.3.10.1269506597';
$postData ["sessionID"] = '216392970.3.10.1269506597';
$postData["file"] = $file;
$postData["message"] ='probando';
$postData["accept"]='1';
$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_URL, "http://www27.megaupload.com/upload_done.php?UPLOAD_IDENTIFIER=216392970.3.10.1269506597");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_REFERER, '');
$response = curl_exec($ch);
$response = htmlspecialchars($response);
echo "<pre>".$response."</pre>";
curl_close($ch);
?>
lo que creo que esta el fallo es que hay que conseguir por curl que realice la transferencia por metodo enctype="multipart/form-data" pero eso escapa a mi comprension.
alguna idea o ayuda?.