-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。例 (ファイル名拡張子):

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

結果は PNG またはその他の ur 画像拡張子を印刷します。あなたのフォームを投稿する前に。例

<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 に答える
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 に答える