New question

Question:

Date: 16-01-2018 03:15:37 (In Spanish)

[aporte] Descargar archivo externo https y reemplazarlo[Resolved]

Hace ya dos años que planteaba en este foro la mejor solución para descargar archivo externo y reemplazarlo

Gracias al aporte de Fernando Mosquera he estado trabajando con el siguiente código.
<?php
ini_set('display_errors', 1);
error_reporting(-1);

$myfile = 'miarchivo.extension';
chmod($myfile, 0644);
unlink($myfile);
echo 'Archivo eliminado <br>';

$url = 'http://www.webadescargar/directorio/pagina.extension';
$source = file_get_contents($url);
file_put_contents($myfile, $source);
echo 'Actualizado ('.date('d-m-Y H:i:s').')';
?>


El código funciona perfectamente ... excepto cuando la página de descarga es HTTPS.
La solución, cuando me daba error el código anterior, está en este código:
<?php
ini_set('display_errors', 1);
error_reporting(-1);

$myfile = 'miarchivo.extension';
chmod($myfile, 0644);
unlink($myfile);
echo 'Archivo eliminado <br>';

$arrContextOptions=array(
    "ssl"=>array(
        "verify_peer"=>false,
        "verify_peer_name"=>false,
    ),
);  

$source = file_get_contents('https://www.webadescargar/directorio/pagina.extension';", false, stream_context_create($arrContextOptions));
file_put_contents($myfile, $source);
echo 'Actualizado: '.date('d-m-Y H:i:s');
?>


Cuando trabajamos con Open Data (datos abiertos) merece la pena tenerlo en cuenta.

Si, como Fernando en su momento, pueden aportar algo más, será bien recibido.
Tags: Download Files - PHP Votes: 3 - Answers: 1 - Views: 14 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 25-01-2018 11:56:27 Algo más para aprender en la descarga de archivos.
    A veces, por la hora, la lentitud de ejecución o porque las descargas son pesadas, aparece el error de tiempo excedido.

    Bien, aparece entonces la línea de código mágica. Añádela al inicio del script
    ini_set('max_execution_time', 180); //180 seconds = 3 minutes
      Votes: 0 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In
 
frjcbbae garagebible.com