Я получаю и скачиваю .pdf с URL. Он загружается прямо на мой компьютер через запрос Curl.
Как сохранить это в каталоге на сервере, где работает страница?
Я могу использовать PHP и JS, я пробовал многие вещи, даже объединяя два языка, но, кажется, работает только запрос curl, и он не сохраняет его в каталоге
<body>
<button id="boton">CLICK ME</button>
<?php
$name = 'file';
$file_downloaded = curl_init();
curl_setopt($file_downloaded, CURLOPT_URL, 'The url');
//curl_setopt($file_downloaded, CURLOPT_HEADER, true);
curl_setopt($file_downloaded, CURLOPT_RETURNTRANSFER, true);
curl_setopt($file_downloaded, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($file_downloaded, CURLOPT_AUTOREFERER, true);
$file_downloaded = curl_exec($file_downloaded);
if(!curl_errno($file_downloaded))
{
header('Content-type:application/pdf');
header('Content-Disposition: attachment; filename ="'.$nuevo_nombre.'.pdf"');
echo($file_downloaded);
exit();
}else
{
echo(curl_error($file_downloaded));
}
?>
<script>
$("#boton").click(function () {
var archivo = '<?php echo($file_downlaoded) ?>';
var data = new FormData();
data.append("data" , archivo);
var xhr = (window.XMLHttpRequest) ? new XMLHttpRequest() : new activeXObject("Microsoft.XMLHTTP");
xhr.open( 'post', '/my/directory', true );
xhr.send(data);
});
</script>
</body>
Он загружается на мой локальный компьютер, и ожидается, что он будет загружен по пути / my / каталог сервера.
EDIT
<?php
$nuevo_nombre = 'remito'; //asignamos nuevo nombre
$archivo_descarga = curl_init(); //inicializamos el curl
curl_setopt($archivo_descarga, CURLOPT_URL, 'URL');
//curl_setopt($archivo_descarga, CURLOPT_HEADER, true);
curl_setopt($archivo_descarga, CURLOPT_RETURNTRANSFER, true);
curl_setopt($archivo_descarga, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($archivo_descarga, CURLOPT_AUTOREFERER, true);
$resultado_descarga = curl_exec($archivo_descarga);
file_put_contents('/path/to/file.pdf', $resultado_descarga);
?>