Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Orni1 en 7 Abril 2021, 14:02 pm



Título: url en funcion php
Publicado por: Orni1 en 7 Abril 2021, 14:02 pm
Quiero obtener el tamaño de un archivo remoto y he encpntrado esta función php que funciona...

Código
  1. <?php
  2. function retrieve_remote_file_size($url){
  3.     $ch = curl_init($url);
  4.  
  5.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  6.     curl_setopt($ch, CURLOPT_HEADER, TRUE);
  7.     curl_setopt($ch, CURLOPT_NOBODY, TRUE);
  8.  
  9.     $data = curl_exec($ch);
  10.     $size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
  11.  
  12.     curl_close($ch);
  13.     return $size;
  14. }
  15. echo retrieve_remote_file_size("https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png");
  16. ?>
... me devuelve el tamaño del logo en bites 5969.
Si a la url que quiero llegar le quiero poner los comodines /../ tengo que indicar a curl "--path-as-is" para que no anule los comodines.

El problema es que no se donde colocar "--path-as-is" en la función php.









Título: Re: url en funcion php
Publicado por: EdePC en 7 Abril 2021, 16:16 pm
Se agrega igual como lo andas haciendo:

Código
  1. <?php
  2. function retrieve_remote_file_size($url){
  3.  $ch = curl_init($url);
  4.  
  5.  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  6.  curl_setopt($ch, CURLOPT_HEADER, TRUE);
  7.  curl_setopt($ch, CURLOPT_NOBODY, TRUE);
  8.  curl_setopt($ch, CURLOPT_PATH_AS_IS, TRUE);
  9.  
  10.  $data = curl_exec($ch);
  11.  $size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
  12.  
  13.  curl_close($ch);
  14.  return $size;
  15. }
  16. echo retrieve_remote_file_size("https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png");
  17. ?>

Referencia: https://www.php.net/manual/es/function.curl-setopt.php

Importante: CURLOPT_PATH_AS_IS true para no manejar secuencias de puntos. Añadida en cURL 7.42.0. Disponible desde PHP 7.0.7.


Título: Re: url en funcion php
Publicado por: Orni1 en 7 Abril 2021, 18:13 pm
Gracias, funciona perfecto.


Título: Re: url en funcion php
Publicado por: WHK en 6 Mayo 2021, 19:06 pm
Hola, talves te salga mas facil usar file_get_contents() en ves de curl, recuerda que no todos los hosting tienen instalado el complemento de curl para php, este no es nativo.

Saludos.


Título: Re: url en funcion php
Publicado por: Orni1 en 3 Agosto 2021, 10:30 am
Gracias por la sugerencia pero a veces utilizo los comodines \..\ en curl y otras aplicaciones no los gestionan bien.