[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не срабатывает getimagesize() на VPS
Crusader
строка
list($width, $height, $type, $attr) = @getimagesize($f) or die("Загрузка картинок временно отключена."); 

возвращает die.

Перегуглил все что можно.
$f -- путь к картинке на ftp, файл доступен.

в httpd.conf:

php_admin_value open_basedir none



в php.ini
safe_mode = Off
open_basedir = none
allow_url_fopen = On


phpinfo() выдает
open_basedir    no value
allow_url_fopen On


В логах сервера:

[Sun Mar 21 00:56:58 2010] [error] [client 84.19.161.77] PHP Warning: getimagesize() [<a href='function.getimagesize'>function.getimagesize</a>]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/[путь к файлу].php on line 14, referer: http://site.ru/загрузка.php
[Sun Mar 21 00:56:58 2010] [error] [client 84.19.161.77] PHP Warning: getimagesize(http://x.picp2.com/allimage/40/39850.gif) [<a href='function.getimagesize'>function.getimagesize</a>]: failed to open stream: Success in /var/www/[путь к файлу].php on line 14, referer: http://site.ru/загрузка.php


Что ему ещё нужно?..





Спустя 43 минуты, 32 секунды (21.03.2010 - 02:18) Crusader написал(а):
Был косяк с обновлением DNS и сервер не видел картинку (хотя у меня она грузилась). Вернул код как было и все заработало.

Спустя 38 минут, 20 секунд (21.03.2010 - 02:56) Игорь_Vasinsky написал(а):
не сталкивался, но смущает пару моментов:

1.
Цитата
$f -- путь к картинке


тут у тебя путь или путь _ картинка?

2.
Цитата
function.getimagesize</a>]: failed to open stream:


вот тут он сказал видимо, что напутан либо путь, либо имя файла или отсутствуют права

3
Цитата
getaddrinfo failed:
- неизвестна

а вот гугл чё накавырял:

Описание

array getimagesize (string filename [, array imageinfo])

Функция getimagesize() определяет размер изображения GIF, JPG, PNG, SWF, PSD, TIFF или BMP и возвращает размеры, тип файла и высоту/ширину текстовой строки, используемой внутри нормального HTML-тэга IMG.

Возвращает массив из 4 элементов. Индекс 0 содержит ширину/width изображения в пикселах. Индекс 1 содержит высоту/height. Индекс 2 это флаг, указывающий тип изображения.1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(байтовый порядок intel), 8 = TIFF(байтовый порядок motorola), 9 = JPC, 10 = JP2, 11 = JPX. Индекс 3 это текстовая строка с корректной строкой height="yyy" width="xxx", которая может использоваться непосредственно в тэге IMG.

Пример 1. getimagesize (file)

<?php
$size = getimagesize ("img/flag.jpg");
echo "<img src=\"img/flag.jpg\" {$size[3]}>";
?>



Пример 2. getimagesize (URL)

<?php $size = getimagesize ("http://www.example.com/gifs/logo.gif"); ?>




С изображениями JPG возвращаются два дополнительных индекса: channel и bits.
channel имеет значение 3 для RGB-рисунков и 4 для CMYK-рисунков.
bits это количество битов для каждого цвета.

Если доступ к файлу filename изображения невозможен или если это неправильное изображение, getimagesize() возвратит NULL и сгенерирует предупреждение.

Необязательный параметр imageinfo позволяет извлекать расширенную информацию из файла изображения. В настоящее время возвращается различные JPG APP-маркёры в ассоциативном массиве. Некоторые программы используют эти APP-маркёры для внедрения текстовой информации в изображения. Обычным является внедрение IPTC-информации http://www.iptc.org/ в маркёр APP13. Вы можете использовать функцию iptcparse() для разбора двоичного маркёра APP13 в нечто читабельное.

Пример 3. getimagesize возвращает IPTC

<?php
$size = getimagesize ("testimg.jpg",&$info);
if (isset ($info["APP13"])) {
$iptc = iptcparse ($info["APP13"]);
var_dump ($iptc);
}
?>




Примечание: поддержка TIFF была введена в PHP 4.2. Поддержка JPEG2000 была введена в PHP 4.3.

Эта функция не требует библиотеки GD image.
Поддержка URL была введена в PHP 4.0.5.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.