У меня есть некоторые проблемы на моем сервере при запуске getimagesize на удаленных изображениях URL.
Например, если я запускаю этот код на моем локальном сервере, он работает нормально и возвращает ОК:
<?php
$file = 'http://inspiring-photography.com/wp-content/uploads/2012/04/Culla-bay-rock-formations-Isle-of-Uist.jpg';
$pic_size = getimagesize($file);
if (empty($pic_size))
{
die('FALSE');
}
die('OK');
?>
Но если я запускаю тот же код на моем сервере, я не могу заставить его работать должным образом. Можете ли вы помочь определить, какие настройки мне следует включить?
Я думаю, что некоторые из них могут быть вовлечены:
Можете ли вы помочь мне в определении правильной конфигурации, чтобы решить эту проблему?
Заранее большое спасибо.
Ваша проблема связана с allow_url_fopen
быть выключенным Либо включите его на своем php.ini
или используйте curl
чтобы получить изображение:
function getImg($url){
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
curl_close($curl);
return $data;
}
$url = "http://inspiring-photography.com/wp-content/uploads/2012/04/Culla-bay-rock-formations-Isle-of-Uist.jpg";
$raw = getImg($url);
$im = imagecreatefromstring($raw);
$width = imagesx($im);
$height = imagesy($im);
echo $width." x ".$height;
Вы должны включить allow_url_fopen
в вашем php.ini
файл, чтобы позволить ему получить доступ к ресурсам, которые не являются локальными.
Это указано в официальном документе getimagesize в описании filename
параметр.