2011-12-19 35 views
7

Tengo una pequeña pregunta; En PHP He utilizado rizo para obtener datos de una URL:¿Cómo puedo obtener el nombre de la imagen de la url?

$url = "http://www.prelovac.com/vladimir/wp-content/uploads/2008/03/example.jpg"; 

Con que utilizo curl_getinfo() que me dio una matriz:

Array 
(
[url] => http://www.prelovac.com/vladimir/wp-content/uploads/2008/03/example.jpg 
[content_type] => image/jpeg 
[http_code] => 200 
[header_size] => 496 
[request_size] => 300 
[filetime] => -1 
[ssl_verify_result] => 0 
[redirect_count] => 0 
[total_time] => 2.735 
[namelookup_time] => 0.063 
[connect_time] => 0.063 
[pretransfer_time] => 0.063 
[size_upload] => 0 
[size_download] => 34739 
[speed_download] => 12701 
[speed_upload] => 0 
[download_content_length] => 34739 
[upload_content_length] => -1 
[starttransfer_time] => 1.282 
[redirect_time] => 0 
) 

¿Cómo puedo obtener el nombre de la imagen en el enlace [url] => http://www.prelovac.com/vladimir/wp-content/uploads/2008/03/example.jpg como

[image_name] : example 
[image_ex] : jpg 

¡Gracias por cualquier sugerencia!

+0

Estrictamente ese no es el nombre de la imagen, aunque es el nombre que la mayoría de los navegadores le darían si la guardan la mayor parte del tiempo, porque la mayoría de las entidades en la web no tienen nombres, pero es probable que sea buena elección. Si la persona a cargo de prelovac.com realmente hubiera querido establecer un nombre, habrían usado el encabezado de disposición de contenido. Si bien los navegadores aún pueden ignorar eso, si desea hacer coincidir lo que la mayoría de los usuarios verán con los archivos guardados, entonces examine eso primero y solo examine la información de ruta del URI si está ausente. –

Respuesta

4
$url_arr = explode ('/', $arr['url']); 
$ct = count($url_arr); 
$name = $url_arr[$ct-1]; 
$name_div = explode('.', $name); 
$ct_dot = count($name_div); 
$img_type = $name_div[$ct_dot -1]; 

echo $name . " " . $img_type; 
+0

gracias check123 – johnITBonuc

1
$URL = urldecode('http://www.greenbiz.com/sites/default/files/imagecache/wide_large/Woman_HORIZ.jpg?sunny=20$mal+1'); 
$image_name = (stristr($URL,'?',true))?stristr($URL,'?',true):$URL; 
$pos = strrpos($image_name,'/'); 
$image_name = substr($image_name,$pos+1); 
$extension = stristr($image_name,'.'); 
if($extension == '.jpg' || $extension == '.png' || $extension == '.gif' || $extension == '.jpeg'){`enter code here` 
print $image_name; 
} 
+0

Hay funciones PHP que pueden hacer esto de una vez. – transilvlad

-1
$imagePath = 'http://www.prelovac.com/vladimir/wp-content/uploads/2008/03/example.jpg'; 

$imageName = get_basename($imagePath); 

function get_basename($filename) 
{ 
    return preg_replace('/^.+[\\\\\\/]/', '', $imagePath); 
} 
3

considerar lo siguiente es la ruta de la imagen $ image_url = 'http://development/rwc/wp-content/themes/Irvine/images/attorney1.png'; desde esta url para obtener el nombre de la imagen con uso de extensión siguiente función nombrebase(); mirada código siguiente código

:

$image_url='http://development/rwc/wp-content/themes/Irvine/images/attorney1.png'; 
echo basename($image_url); 

de salida: attorney1.png

0
$url ='http://hhhhhh.com/content/thees/Irvine/images/hdahdahat.png'; 
$img = explode(".", basename($url)); 

echo $img['0']; 
1

En algún momento URL tiene parámetros adicionales adjuntas a la misma. En tal escenario, podemos eliminar primero la sección de parámetros y luego podemos usar la función pathinfo() incorporada de PHP para obtener el nombre de la imagen de la url.

$url = 'http://images.fitnessmagazine.mdpcdn.com/sites/story/shutterstock_65560759.jpg?itok=b8HiA95H'; 

Compruebe si la imagen url tiene parámetros añadidos.

if (strpos($url, '?') !== false) { 
    $t = explode('?',$url); 
    $url = $t[0];    
}  

La variable URL resultante contiene ahora

http://images.fitnessmagazine.mdpcdn.com/sites/story/shutterstock_65560759.jpg

Uso del pathinfo() para recuperar los datos deseados.

$pathinfo = pathinfo($url); 
echo $pathinfo['filename'].'.'.$pathinfo['extension']; 

Esto dará como salida shutterstock_65560759.jpg.

+0

Intenta agregar algunas explicaciones para mejorar la calidad de tu respuesta – Minzkraut

Cuestiones relacionadas