聪明的功能分配PHP

时间:2015-08-30 17:30:33

标签: php smarty

我有一个smarty功能,检查名为“mikaphotos”的行是否为空。如果行是空的,那就没关系,并且没有发生任何事情,如果它不是空的..它取$ path变量中的值。 现在我的帮助是:

$smarty->assign("mikaPhotos", getTheImages("SOMEPATH",400), true);

我的getTheImages功能是:

getTheImages($path,$width){
 $dirname = $path; //the path
 $images = glob($dirname."*.png");//get the png images from directory
 foreach($images as $image) {
 echo '<img src="'.$dirname.'/'.$image.'" width="'.$width.'" /><br />';//echo all the images in SOMEPATH
 }
}

现在在我的file.tpl ..我把:{$ mikaPhotos}并且它无法正常工作。我认为我的代码存在一些问题,但我不知道该怎么做。有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

assign函数向getTheImages变量返回的smarty赋值()中的函数mikaPhotos。因此,您的getTheImages函数应返回字符串而不是回显。例如,像:

getTheImages($path,$width){
    $result = '';
    $dirname = $path; //the path
    $images = glob($dirname."*.png");//get the png images from directory
    foreach($images as $image) {
        $result .= '<img src="'.$dirname.'/'.$image.'" width="'.$width.'" /><br />';
    }

    return $result;    // return html for all your images as a string
}    

答案 1 :(得分:0)

好的,谢谢你们,&#39;我得到了正确的代码:

function getTheImages($path,$width){
                                        $result = '';
                                        /*$dirname = "../uploads/reko/".$path.""; //the path
                                        $images = glob($dirname."*.png");//get the png images from directory
                                        foreach($images as $image){
                                            $result .= '<img src="uploads/reko/'.$path.'/'.$image.'" width="'.$width.'" /><br />';
                                        }*/
                                        $handle = opendir("uploads/reko/".$path."");
        while($file = readdir($handle)){
            if($file !== '.' && $file !== '..'){
                $result .= '<img src="uploads/reko/'.$path.'/'.$file.'" width="'.$width.'" /><br />';
            }
        }
                                        return $result;
                                    }