Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => 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 (php) [Seleccionar]
<?php
function retrieve_remote_file_size($url){
     
$ch curl_init($url);

     
curl_setopt($chCURLOPT_RETURNTRANSFERTRUE);
     
curl_setopt($chCURLOPT_HEADERTRUE);
     
curl_setopt($chCURLOPT_NOBODYTRUE);

     
$data curl_exec($ch);
     
$size curl_getinfo($chCURLINFO_CONTENT_LENGTH_DOWNLOAD);

     
curl_close($ch);
     return 
$size;
}
echo 
retrieve_remote_file_size("https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png");
?>

... 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 (php-brief,8) [Seleccionar]
<?php
function retrieve_remote_file_size($url){
  
$ch curl_init($url);

  
curl_setopt($chCURLOPT_RETURNTRANSFERTRUE);
  
curl_setopt($chCURLOPT_HEADERTRUE);
  
curl_setopt($chCURLOPT_NOBODYTRUE);
  
curl_setopt($chCURLOPT_PATH_AS_ISTRUE);

  
$data curl_exec($ch);
  
$size curl_getinfo($chCURLINFO_CONTENT_LENGTH_DOWNLOAD);

  
curl_close($ch);
  return 
$size;
}
echo 
retrieve_remote_file_size("https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png");
?>


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.