Drupal 7.使用PHP将图像添加到节点

时间:2012-05-10 18:27:23

标签: php image drupal drupal-7

有没有办法以编程方式添加特定文件路径中的图像数组?我想在我的drupal网站中添加一个文件夹中的所有图像,并为它们添加fancybox样式,这可以完成吗?我试过看drupal.org没有成功。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

当然可以,只需启用php过滤器模块,并将php代码放在节点的主体中。确保将正文的格式设置为PHP,而不是纯文本或html。

因此,如果图像位于主题文件夹中,您可以使用以下方式抓取并显示它:

<img src="<?php print path_to_theme() . "/files/image.jpg"; ?>" title='some image'/>

您可以使用php的scandir函数获取目录中的所有文件。此函数将返回文件目录中所有文件的数组,之后您可以遍历此数组并将所有图像文件输出到屏幕,如:

$files = scandir("path/to/files/dir");
/*Unset the first 2 items in the array since they contain . and .. respectively */
unset($files[0]);
unset($files[1]);
foreach($files as $file)
{
    /* 
      Here we get the file extension 
      If the value of $file = "photo.jpeg"; this returns "jpeg"
    */
    $f_ext =  end(explode(‘.’, $file));   
    /*Checking if file is an image*/
    if($f_ext == 'jpg' || $f_ext == 'png' || $f_ext == 'gif'|| $f_ext == 'jpeg')
    {
         print "<img src='<?php print "path/to/files/$file"; ?>' title='some image'/>";
    }
}