在数组中,图像扩展获取变量

时间:2013-06-26 12:49:56

标签: php

此代码:

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

如何仅显示那些从阵列中有扩展名的上传图片?

3 个答案:

答案 0 :(得分: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
)

答案 1 :(得分:0)

以简单的方式,您可以通过以下方式实现:

<?php
   $extensions = array('.jpg', '.JPG', '.png' ,'.PNG' ,'.jpeg' ,'.JPEG');
   $extension = pathinfo('$file_name');
   in_array($extension,$extensions);
   {
         $image = $somepicture."*.".$extension."");
   }
?>

答案 2 :(得分: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>