2016-06-28 3 views
2

getimagesize() функция возвращает FALSE для некоторых изображений.Функция getimagesize() не работает для некоторых изображений

Пример: enter image description here

$path1 = getcwd().'/images/communities/29/eagle-ridge-26.jpg'; 
$vals_arr1 = getimagesize($path1); 

$path2 = 'http://homematrix.oskyserver.com/images/communities/29/ 
               eagle-ridge-26.jpg'; 
$vals_arr2 = getimagesize($path2); 

В обоих случаях она возвращает FALSE, я искал, но не нашел хорошее решение еще.

+0

Пожалуйста, проверьте путь (печать $ path1), правильно ли это или нет? –

+0

Я использовал file_exists ($ path1) перед использованием getimagesize ($ path1), file_exists возвращает true. но getimagesize возвращает false – Akhil5

+0

да, вы правы, ваш пример не работает в моей локальной системе. Я проверю, если я получу результат, то дайте знать. –

ответ

0

Его рабочий:

Вы должны указать абсолютный путь:

Например:

$path1 = getcwd().'/images/logo.jpg'; 
$vals_arr1 = getimagesize($path1); 
echo "<pre>";var_dump($vals_arr1);echo "</pre>"; 

$path2 = __DIR__.DIRECTORY_SEPARATOR.'images/logo.jpg'; 
$vals_arr2 = getimagesize($path2); 
echo "<pre>";var_dump($vals_arr2);echo "</pre>"; 

Результат:

array(7) { 
    [0]=> 
    int(288) 
    [1]=> 
    int(70) 
    [2]=> 
    int(2) 
    [3]=> 
    string(23) "width="288" height="70"" 
    ["bits"]=> 
    int(8) 
    ["channels"]=> 
    int(3) 
    ["mime"]=> 
    string(10) "image/jpeg" 
} 
array(7) { 
    [0]=> 
    int(288) 
    [1]=> 
    int(70) 
    [2]=> 
    int(2) 
    [3]=> 
    string(23) "width="288" height="70"" 
    ["bits"]=> 
    int(8) 
    ["channels"]=> 
    int(3) 
    ["mime"]=> 
    string(10) "image/jpeg" 
} 
+0

Спасибо за быстрый ответ, но он не работает с изображением, которое я дал там. Как я объяснил в вопросе, он работает только с некоторыми изображениями, вы можете попробовать пример изображения и сообщить мне, если это сработает для вас. Спасибо – Akhil5

+0

@ Akhil5 Этот код правильный "$ path1 = getcwd(). '/ Images/Communities/29/eagle-ridge-26.jpg'; $ vals_arr1 = getimagesize ($ path1);" Но, пожалуйста, напечатайте «$ path1» и проверьте правильность пути. Пожалуйста попробуйте. Второй - это не работает. –

+0

Да. путь правильный, и file_exists() возвращает true. – Akhil5

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