-6

这段代码:

$extensions = array('.jpg', '.JPG', '.png' ,'.PNG' ,'.jpeg' ,'.JPEG');
$extension = explode(".", $extensions);
$image = $somepicture."*.".$extension.""); 

如何仅显示具有数组扩展名的上传图像?

4

3 回答 3

1

假设您有一组文件名:

$files = array('file1.jpg', 'file2.PNG', 'file3.txt');

您可能只想像这样过滤图像:

$extensions = array('jpg', 'jpeg', 'png');
$images = array_filter($files, function($file) use ($extensions) {
     $pos = strrpos($file, '.');
     $extension = strtolower(substr($file, $pos + 1));
     return in_array($extension, $extensions);
});

(根据 php.net 上pathinfo的帖子,比原始substr操作要慢一些。)


测试:

print_r($images);

输出:

Array
(
    [0] => file1.jpg
    [1] => file2.PNG
)
于 2013-06-26T13:02:40.457 回答
0

以简单的方式,您可以通过以下方式做到这一点:

<?php
   $extensions = array('.jpg', '.JPG', '.png' ,'.PNG' ,'.jpeg' ,'.JPEG');
   $extension = pathinfo('$file_name');
   in_array($extension,$extensions);
   {
         $image = $somepicture."*.".$extension."");
   }
?>
于 2013-06-26T13:00:33.600 回答
0

语言 PHP。示例(文件扩展名):

$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
print $imageFileType;

结果打印 PNG 或其他您的图像扩展名。在发布您的表格之前。例子

<form method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit"></form>
于 2014-11-06T15:54:52.010 回答