Есть ли точка в строке? - PullRequest
0 голосов
/ 27 января 2011

Так что я использую эту функцию wordpress, чтобы получить изображение пользователя

the_author_meta('author_image', the_author_ID() 

, и он либо вернет something.jpg, либо something.png, либо something.gif, если найдет изображение, в противном случае он вернетцелое число, например 2330. Как бы я сделал preg_match или некоторые условные, чтобы сообщить мне, если изображение присутствует.Я думал о том, чтобы сделать preg_match, чтобы увидеть, есть ли в названии точка, но если у кого-то есть идея получше, то это было бы здорово ..

Ответы [ 2 ]

5 голосов
/ 27 января 2011

Проще:

if (is_numeric($author_image)){
  // this is presumably not a file
}
2 голосов
/ 27 января 2011

Если все, что вам нужно, это проверить расширение файла, чтобы увидеть, заканчивается ли оно чем-то (например, .jpg, .png и т. Д.), Вы можете использовать решение, представленное здесь:

функции launchWith () и endWith () в PHP

Я не знаком с библиотекой, которую вы используете, но действительно должен быть лучший способ определить,Файл на самом деле является изображением (своего рода метаданными).Может быть, чтение документации поможет?

РЕДАКТИРОВАТЬ: Я неправильно прочитал часть о функции, возвращающей целые числа, если изображение не найдено.Возможно, решения is_numeric() достаточно, но я оставлю свой ответ, чтобы дать вам варианты (например, если вы хотите различать типы изображений).

...