我在一天的剧本图片中生成和显示图片。我有一个当天图片的图库页面(从目录中拉出来)。所以我想从目录中提取所有文件,当它到达当前日期时(也与文件名IE相同.20120822.jpg是今天显示的内容,20120823.jpg是明天将显示的内容)。我让它循环所有目录图像并在库中显示它们,但我希望循环在当前日期之后停止,因此我们不显示或加载未来的图像。这是我的代码..我确定我只是在做些傻事......
<?PHP
// filetypes to display
$imagetypes = array("image/jpeg", "image/gif");
?>
<?PHP
function getImages($dir)
{
global $imagetypes;
// array to hold return value
$retval = array();
// add trailing slash if missing
if(substr($dir, -1) != "/") $dir .= "/";
// full server path to directory
$fulldir = "{$_SERVER['DOCUMENT_ROOT']}/$dir";
$d = @dir($fulldir) or die("getImages: Failed opening directory $dir for reading");
while(false !== ($entry = $d->read())) {
// skip hidden files
if($entry[0] == ".") continue;
// check for image files
$f = escapeshellarg("$fulldir$entry");
$mimetype = trim(`file -bi $f`);
foreach($imagetypes as $valid_type) {
if(preg_match("@^{$valid_type}@", $mimetype)) {
$retval[] = array(
'file' => "/$dir$entry",
'size' => getimagesize("$fulldir$entry")
);
break;
}
}
}
$d->close();
return $retval;
}
?>
<?PHP
// fetch image details
$images = getImages("galleries/photo-of-the-day/images");
$today = date("Ymd") . ".jpg";
// display on page
sort($images, SORT_REGULAR);
foreach($images as $img ) {
if ($img == "20120822.jpg" ) {
break;
} else {
?>
<div style="margin-right: 10px; float: left; margin-bottom: 10px; padding-bottom: 10px; border: 1px #CCCCCC solid;">
<a href="<? echo $img['file']; ?>" rel="prettyPhoto" title="">
<img class="image-gals" src="<? echo $img['file']; ?>" style="width: 260px; margin-bottom: 0px;padding: 10px; " /></a>
<a href="<? echo $img['file']; ?>" style="font-size: 10px; padding: 3px 10px 10px 10px;">Download</a>
</div>
<?
}
}
?>
答案 0 :(得分:0)
这是您填充$images
数组的位置:
$retval[] = array(
'file' => "/$dir$entry",
'size' => getimagesize("$fulldir$entry")
);
但是当你比较它们时,你就是这样做的:
foreach($images as $img ) {
if ($img == "20120822.jpg" ) {
$img
将包含一个数组。您需要检查$img['file']
,并且还有目录名称,因此它只与图像名称不匹配。