このコード:
$extensions = array('.jpg', '.JPG', '.png' ,'.PNG' ,'.jpeg' ,'.JPEG');
$extension = explode(".", $extensions);
$image = $somepicture."*.".$extension."");
配列からの拡張子を持つアップロードされた画像のみを表示する方法は?
このコード:
$extensions = array('.jpg', '.JPG', '.png' ,'.PNG' ,'.jpeg' ,'.JPEG');
$extension = explode(".", $extensions);
$image = $somepicture."*.".$extension."");
配列からの拡張子を持つアップロードされた画像のみを表示する方法は?
ファイル名の配列があるとします:
$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
)
言語 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>
簡単な方法では、以下の方法でそれを行うことができます:
<?php
$extensions = array('.jpg', '.JPG', '.png' ,'.PNG' ,'.jpeg' ,'.JPEG');
$extension = pathinfo('$file_name');
in_array($extension,$extensions);
{
$image = $somepicture."*.".$extension."");
}
?>