0

指定したディレクトリ内のすべての画像を表示しようとしています。

次のコードは、許可されているすべてのファイル名を示しています。

  function getDirectoryList() 
  {

    // create an array to hold directory list
    $results = array();

    // create a handler for the directory
    $handler = opendir($this->currentDIR);

    // open directory and walk through the filenames
    while ($file = readdir($handler)) {

      // Make sure we get allowed images types
      if ($this->allowedFileType($file,$this->allowedImageTypes) )
      {
        $results[] = $file;
      }
    }

    // tidy up: close the handler
    closedir($handler);

    // done!
    return $results;
  }

  (...)

 $images = getDirectoryList();

 foreach($images as $img) {
   echo "<li>".$img."</li>"; 
 } 

ファイルサイズとMIMEタイプを取得するにはどうすればよいですか?非推奨であると読みました。代わりにfinfo_filemime_content_typeを使用する必要があります。しかし、私はこれであまり成功していません。

/usr/share/misc/magicファイル情報を取得するために使用する必要がありますか?GDライブラリを使用できませんか?

私は多くの例を見てきましたが、それらは古く、うまく機能しません。

助けていただければ幸いです。

4

2 に答える 2

1

画像のサイズとmimeタイプを簡単に取得するには、

関数を使用:getimagesize

のような使用:

list($width, $height, $type, $attr) = getimagesize("img/myimg.jpg");

7つの要素を持つ配列を返します。

インデックス0と1には、それぞれ画像の高さが含まれます。

インデックス2は、画像のタイプを示すIMAGETYPE_XXX定数の1つです。

filesizeを使用して、サイズをバイト単位で指定します

于 2010-08-31T10:04:44.583 に答える
0

Haim Evgiの投稿を拡張するには、getimagesize()を使用して、配列内の次元と画像タイプを取得します。次に、画像タイプコードでimage_type_to_mime_type()を使用して、MIMEを取得します。

list ($fileWidth, $fileHeight, $fileType) = getimagesize($filename);
$fileMimeType = image_type_to_mime_type($fileType);
于 2010-08-31T10:16:19.263 に答える