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.
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)
Пример 2. getimagesize (URL)
С изображениями 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
Примечание: поддержка TIFF была введена в PHP 4.2. Поддержка JPEG2000 была введена в PHP 4.3.
Эта функция не требует библиотеки GD image.
Поддержка URL была введена в PHP 4.0.5.
а вот гугл чё накавырял:
Описание
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.