Как добавить текст в php?

Рейтинг: 1Ответов: 3Опубликовано: 20.11.2014

Доброго времени суток.

Есть код, который получается автоматически, это ссылка на картинку. К примеру:

<img src="foto.png"/>

То есть сам адрес foto.png получается автоматически, и будет .png или .jpg адрес, неизвестно. Так вот к концу адреса .png надо добавить -150x150, чтобы выглядело так foto-150x150.png.

Не подскажите, какой функцией воспользоваться?

Ответы

▲ 6Принят
$adds = '-150x150';
$path = 'some/path/filename.png';
$pdata = pathinfo($path);

echo $pdata['dirname'].'/'.$pdata['filename'].$adds.'.'.$pdata['extension'];
// some/path/filename-150x150.png

Вариант второй:

$adds = '-150x150';
$path = 'some/path/filename.png';
$new_path = substr_replace($path, $adds, strrpos($path, '.'),0);
echo $new_path;
▲ 3

Присоединюсь к празднику торжества безумия

function addThumbnailSizing($path)
{
    $chunks = explode('.', $path);
    // предполагается, что путь абсолютно точно валидный
    $chunks[sizeof($chunks) - 2] .= '-150x150';
    return implode('.', $chunks);
}

Обновление

  1. http://tsya.ru
  2. http://ideone.com/9NYrhH
  3. вообще я очень бурно реагирую на такие предъявы, когда видно, что человек даже не пытался разобраться в том, что я написал.
▲ 1

Можно завернуть регуляркой.

$oldtext = "photo.jpg";
$newtext = preg_replace('/^(.+)(\.)(.+)$/', '$1-150*150$2$3', $oldtext);
echo $newtext; \\ получаем "photo-150*150.jpg"