我有一个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}并且它无法正常工作。我认为我的代码存在一些问题,但我不知道该怎么做。有什么帮助吗?
答案 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)
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;
}