McPetrovich
Новичок
Здравствуйте, уважаемые.
Последнее время очень сильно бъюсь головой об выступающие углы из-за функции вывода картинки, реализованной в классе. Суть в том, что getimagesize ни в какую не хочет обрабатывать изображение на предмет ширины/высоты. Уже через
смотрю, что к чему. В итоге - тишина
просто не отображается.
Конечный вывод при обращении к функции:
Resource id #64
Имя папки: 0312
Хэш сумма: 54e7f76df972ef1c9ded8c0866b025f0
Размер: 18.6 kb
Расширение: jpg
Полный путь: http://localhost/os/media/0312/19494592DC25AF0_login_lock.jpg
Ширина:
И все.... Ширина пустая.
Хорошо, думал, что сервак как-то криво настроен. Пробую создать вообще отдельный файл:
Вывод: 1600
Т.е. в принципе лыжи едут. Полез в сторону прав доступа ковырять - все хорошо... chmod -R 777 на всю нужную папку. Ладно думаю, дай ка я добавлю еще одну переменную:
Выводит:
media/0312/19494592DC25AF0_login_lock.jpg
Хорошо, обратимся к переменной через getimagesize
И.... не хочет... вот просто не хочет ничего выдергивать из фала.
Господа, гуру. Я в PHP новичок. Прошу сильно каблуками не пинать. Подскажите, куда рыть?
Последнее время очень сильно бъюсь головой об выступающие углы из-за функции вывода картинки, реализованной в классе. Суть в том, что getimagesize ни в какую не хочет обрабатывать изображение на предмет ширины/высоты. Уже через
PHP:
echo
PHP:
echo $width;
PHP:
function getAttachmentStr($refid,$type){
global $cfg;
$helpdesk_url=$cfg->getUrl();
$dir=$cfg->getUploadDir();
$dir = preg_replace("/\\\\/","/",$dir);
$dir = explode('/', $dir);
$arrDir = array_reverse($dir);
$dir = $arrDir[0];
$sql ='SELECT attach_id,file_size,file_name,file_key FROM '.TICKET_ATTACHMENT_TABLE.
' WHERE deleted=0 AND ticket_id='.db_input($this->getId()).' AND ref_id='.db_input($refid).' AND ref_type='.db_input($type);
$res=db_query($sql);
if($res && db_num_rows($res)){
while(list($id,$size,$name,$key)=db_fetch_row($res)){
echo "$res <br>";
$month=date('my',strtotime($this->getCreateDate()));
echo "Имя папки: $month <br>";
$hash=MD5($this->getId()*$refid.session_id());
echo "Хэш сумма: $hash <br>";
$size=Format::file_size($size);
echo "Размер: $size <br>";
$ext = strtolower(substr(strrchr($name, '.'), 1));
echo "Расширение: $ext <br>";
$fullfilename = $helpdesk_url.$dir.'/'.$month.'/'.$key.'_'.$name;
echo "Полный путь: $fullfilename <br>";
if (in_array($ext,array('jpg', 'png', 'gif', 'bmp'))) {
list($width, $height, $type, $attr) = getimagesize($fullfilename);
echo $width;
echo $attr;
if ($width > 820) {
$attachstr.= '<p align="center"><a class="lightbox" href="'.$fullfilename.'"><img src="'.$fullfilename.'" width="820"/></a></p><br />';
} else {
$attachstr.= '<p align="center"><a class="lightbox" href="'.$fullfilename.'"><img src="'.$fullfilename.'" /></a></p><br />';
}
}
$attachstr.= "<a class='Icon file' href='attachment.php?id=$id&ref=$hash'><b>$name</b></a> (<i>$size</i>) ";
}
}
return ($attachstr);
}
Resource id #64
Имя папки: 0312
Хэш сумма: 54e7f76df972ef1c9ded8c0866b025f0
Размер: 18.6 kb
Расширение: jpg
Полный путь: http://localhost/os/media/0312/19494592DC25AF0_login_lock.jpg
Ширина:
И все.... Ширина пустая.
Хорошо, думал, что сервак как-то криво настроен. Пробую создать вообще отдельный файл:
PHP:
<?php
list($width, $height, $type, $attr) = getimagesize("media/0312/368432897601F6_welcome.jpg");
echo $width;
?>
Т.е. в принципе лыжи едут. Полез в сторону прав доступа ковырять - все хорошо... chmod -R 777 на всю нужную папку. Ладно думаю, дай ка я добавлю еще одну переменную:
PHP:
$notfull = $dir.'/'.$month.'/'.$key.'_'.$name;
echo "Путь: $notfull <br>";
media/0312/19494592DC25AF0_login_lock.jpg
Хорошо, обратимся к переменной через getimagesize
PHP:
list($width, $height, $type, $attr) = getimagesize($notfull);
echo "Ширина: $width <br>";
Господа, гуру. Я в PHP новичок. Прошу сильно каблуками не пинать. Подскажите, куда рыть?