如何仅显示图像(.jpg)?

时间:2018-12-31 07:45:24

标签: php codeigniter

Array ( 
   [0] => assets/image/man.jpg 
   [1] => assets/image/violin.jpg 
   [2] => assets/image/test.txt 
)

来自数据库的数据如上。它包含图像文本。如何只显示图像

9 个答案:

答案 0 :(得分:1)

$ar = ['assets/image/man.jpg','assets/image/violin.jpg','assets/image/test.txt'];
 $allowed = ['jpg']; //your image extensions
 $img_ar = [];
 foreach($ar as $img){
     $ext = pathinfo($img,PATHINFO_EXTENSION);
     if(in_array($ext,$allowed)){
         $img_ar[] = $img;
     }

 }
 print_r($img_ar);

答案 1 :(得分:0)

为什么要在页面上写它时进行检查?
您可以:
1.用'/'分割资产/image/man.jpg
2.得到最后一个,
3.用'。'分割最后一个。
4.获取扩展名,如果是'jpg',则将其写入页面。

答案 2 :(得分:0)

@variable

$ m_array包含数组的匹配元素。

有关更多详细信息,请参见此线程search a php array for partial string match

答案 3 :(得分:0)

使用foreach循环获取文件的扩展名和显示内容。

foreach($array_result as $result){

    //$array_result is array data
    //condition is checking the file that if it is an image or not
    $allowed =  array('gif','png' ,'jpg');
    $filename = $result;
    $ext = pathinfo($filename, PATHINFO_EXTENSION);
    if(in_array($ext, $allowed) ) {
        echo '<img src="'.$result.'" alt="" /> ';
    }
 }

答案 4 :(得分:0)

这应该可以解决问题:

$images = array();
$images_exts = array('.jpg','.png');
foreach($db_array as $key => $value)
{ 
    foreach($images_exts as $ext)
    {
        if (strpos($value,$ext))
        {
            $images[] = $value;
        }
    }
}

下面是一个示例https://3v4l.org/8W3Be


这是另一种方式,无论您最喜欢什么:

$images = array();
$images_exts = array('jpg','png');
foreach($input as $value)
{
    if(in_array(@end(explode('.', $value)), $images_exts))
    {
        $images[] = $value;
    }
}

下面是一个示例https://3v4l.org/b0njd

答案 5 :(得分:0)

为此,您可以在进行查询时直接过滤

field like '%.jpg'

如果您不想这样做并操纵数组,则可以使用array_filter之类的

$array= Array ('assets/image/man.jpg', 'assets/image/violin.jpg', 'assets/image/test.txt');

$output = array_filter($array, function($arr) {
        if (strpos($arr, '.jpg') == true){
                return $arr;
        }
});

$ output数组仅包含具有.jpg字符串的条目。

这里使用strpos检查.jpg是否存在。

您可能使用substr($str, -4) == '.jpg'检查最后4个字符。

答案 6 :(得分:0)

如果您使用的是PHP 5+(希望您使用7.0+),请使用SplFileInfo()

$spl  = new SplFileInfo($fileName); 
if ($spl->getExtension() == 'jpg') {
//image
}

答案 7 :(得分:0)

<?php
  $error = array();
  $file_extArr = explode(".", $file_name);
  $file_extEnd = end($file_extArr);
  $file_ext = strtolower($file_extEnd);

  $validateImage = array("png", "jpg", "jpeg", "gif");

  if (!in_array($file_ext, $validateImage)) {
    $error[] = "wrong format image";
  }

  if (!empty($error)) {
   return;
  }
?>

答案 8 :(得分:0)

    <?php 
    $data = Array ( 
       'assets/image/man.jpg ',
       'assets/image/violin.jpg ',
       'assets/image/test.txt ',
    );

    $arrDara = array();
    foreach ($data as $value) {
        $fileName = explode('/', $value);
        $arrDara[] = end($fileName);
    }

    print_r($arrDara);
?>

只需循环数组并爆炸每个刺。最后一个索引就是您所需要的。