2015-03-18 2 views
0

я использую DOMDocument извлечь страницу HTML, которая содержит файл изображения, HTML страница выглядит как этотКак сохранить изображение с удаленного сервера, на котором расширение изображения пропущенного с помощью PHP

<div> 
    <img src="http://pic.aa.com/a/b/0525"> 
</div> 

После я извлек Src адрес, я положить его в этой функции

copy('http://pic.aa.com/a/b/0525', 'd:tmp/img_name'); 

Где я не получаю, как решить, что расширение файла не должен был, есть понятия не от Ури, и единственно возможным способом является использование инструмента хром браузера, чтобы проверить ответ, но, похоже, недостаток эффективности, кто-то знает правильный путь сделать это?

+0

Попытайтесь получить тип файла, используя функцию 'fileinfo', а не сопоставьте тип с расширением. – Kamran

ответ

0

хорошо, чем я могу просто дать вам подсказку, чтобы использовать функцию exif_imagetype(); представленной здесь:

http://php.net/manual/en/function.exif-imagetype.php

вы можете использовать для/времени/цикл по каждому элементу, чтобы определить IMAGETYPE как:

<?php 
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) { 
    echo 'The picture is not a gif'; 
} 
?> 

также то, как это может помочь вам:

<?php 
$filename = 'http://myhost/myunkownimagefiletype'; 
$size = getimagesize($filename); 

switch ($size['mime']) { 
    case "image/gif": 
     echo "Image is a gif"; 
     break; 
    case "image/jpeg": 
     echo "Image is a jpeg"; 
     break; 
    case "image/png": 
     echo "Image is a png"; 
     break; 
    case "image/bmp": 
     echo "Image is a bmp"; 
     break; 
} 
?> 
+0

Спасибо, решение работает! – user7031

+0

приветствую :) – WongFaiHung

Смежные вопросы