3

ワードプレスのアップロードディレクトリで見つかったすべての画像ファイルをロードする機能があります。アンダースコア文字で始まる画像をスキップするように少し変更したいと思います。「_someimage.jpg」はスキップされますが、「someimage.jpg は...

これが既存の機能です....

 $dir = 'wp-content/uploads/';
 $url = get_bloginfo('url').'/wp-content/uploads/';
 $imgs = array();
  if ($dh = opendir($dir)) 
  {
  while (($file = readdir($dh)) !== false) 
   {
   if (!is_dir($file) && preg_match("/\.(bmp|jpeg|gif|png|jpg|)$/i", $file)) 
   {
   array_push($imgs, $file);
   }
  }
  closedir($dh);
  } else {
   die('cannot open ' . $dir);
  }
4

2 に答える 2

1

現在の正規表現を変更するか、 strstrを使用してブール式を追加できます(これをお勧めします)。

現在の正規表現を変更する:

"/^[^_].*\.(bmp|jpeg|gif|png|jpg)$/i"

または、文字列内のアンダースコアを検出する単純な式は次のようになります。

strstr($file, '_')

編集:実際にはsubstrを使用できます:

substr($file, 0, 1) != '_'
于 2010-01-24T02:16:05.173 に答える
0
if (!is_dir($file) && preg_match("/\.(bmp|jpeg|gif|png|jpg|)$/i", $file)) 

次のように変換できます。

if (!is_dir($file) && preg_match("/^[^_].*\.(bmp|jpeg|gif|png|jpg|)$/i", $file)) 
于 2010-01-24T02:16:47.843 に答える