Вообщем проблема в следующем, на главной странице шаблона есть случайное фото, которое нужно подогнать под размер. Без изменений размеров всё нормально работает, с масштабированием же отображается дефолтное фото, прописанное в стиле css. Вот код:
[code- function templatelite_random_image(){
$default_image=’/images/default.jpg’;
$imglist=array();
$img_folder = dirname(__FILE__)."/custom/";
$imgs = dir($img_folder);
while ($file = $imgs->read()) {
$tmp_extension = strtoupper(substr($file, -3));
if($tmp_extension=="JPG" || $tmp_extension=="GIF")
$imglist
= "$file";
}
closedir($imgs->handle);
if(count($imglist)>0){
shuffle($imglist);
$image="/custom/".$imglist[0];
}else{
$image=$default_image;
}
$w=320;
$h=280;
$src=@imagecreatefromjpeg($image);
$w_src=@imagesx($src);
$h_src=@imagesy($src);
if (($w_src!=$w)||($h_src!=$h))
{
$w_ratio=$w_src/$w;
$h_ratio=$h_src/$h;
if ($w_ratio>$h_ratio)
{
$w_dest=@round($w_src/$w_ratio);
$h_dest=@round($h_src/$w_ratio);
}
else
{
$w_dest=@round($w_src/$h_ratio);
$h_dest=@round($h_src/$h_ratio);
}
$dest=@imagecreatetruecolor($w_dest,$h_dest);
@imagecopyresampled($dest,$src,0,0,0,0,$w_dest,$h_dest,$w_src,$h_src);
}
return $dest;
}[/code]
А это код, с помощью которого выводится изображение:
<style type="text/css">
#sidebar_top{
background:url('<?php bloginfo('template_directory'); ?>/<?php echo templatelite_random_image();?>') no-repeat;
}
</style>
Работает всё до строчки $q=100; если в конечном return прописать $image, но естественно все изображения оригинального размера. Думаю проблема с путями к файлам, всё это стоит на денвере
Путь к файлам: \home\localhost\www\wp-content\themes\rustic-portrait

точно проблема в пути к файлам, попробовал убрать код определения рандома и прописал путь к файлу напрямую, масштабирование работает, получилось следующее:
но работает только в папке со скриптом, если хотя бы написать images/image0.jpg, то ничего не работает. И соответственно рандом в том числе.