php - 仅抓取 jpg 文件图像

标签 php html mysql

我有一个程序可以显示我文件夹中的图片。

代码:

$dir = dir("tags/carrot_cake");
while($filename=$dir->read()) {

    if($filename == "." || $filename == ".." || $filename == $first_image) continue;

    echo "<div class='cp-thumb'>";

    /**********************************sql query to fetch date time and caption************************/
     $timeqry = mysql_query("SELECT created_date FROM foodsites.images WHERE img_name='$filename'") or die(mysql_error());
     $row1 = mysql_fetch_row($timeqry);
     $datetime = $row1[0];
     $newDatetime = date('d/m/Y h:i A', strtotime($datetime));
     $capqry =  mysql_query("SELECT caption FROM foodsites.images WHERE img_name='$filename'") or die(mysql_error());
     $row2 = mysql_fetch_row($capqry);
     $caption = $row2[0];

     echo "<div class='cp-hover' style='display: none;' ><div class='cpHover-bg'></div>
            <div class='cpHover-info'><p class='text11'>".$newDatetime."</p><p class='text10'>".$caption."</p></div></div>"; 
     echo "<img src='tags/carrot_cake/".$filename."'class='img_235x235' />
     </div>";  
}

在我的代码中,我发现我获取了目录中的所有文件,包括那些不是 jpg 文件的文件。

如何将其更改为仅抓取 jpg 文件?

最佳答案

您应该更改此行:

if($filename == "." || $filename == ".." || $filename == $first_image) continue;

至:

if ($filename != "." && $filename != ".." && strtolower(substr($filename , strrpos($filename , '.') + 1)) == 'jpg') continue;

另一种方法是使用 glob() :

$filename = glob('/tags/carrot_cake/*.jpg');

glob() 情况下,这会返回一个包含匹配文件/目录的数组,如果没有文件匹配则返回一个空数组,如果出错则返回 FALSE。

关于php - 仅抓取 jpg 文件图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19086209/

相关文章:

php - 使用 XAMPP 锁定 PHPMyAdmin

php - sql没有插入数据库

javascript - 选择所有具有特定 data-[propriety] 的 html 标签的最有效方法是什么而不考虑值(value)?

javascript - 存储日期选择器日期并保存在数据库中

mysql - 一个 Rails 网络应用程序、quickbooks 和 mysql

mysql - 如何在sql select语句中为每个id选择最大值?

php - 返回 PHP 中文本区域的值

固定div下的HTML/CSS/JS内容滚动条

html - 带有 "position:absolute;bottom:0"的 DIV 不会粘在 Firefox 容器的底部

php - 字符串比较算法