在扩展名之前在URL的末尾追加字符串

时间:2017-02-22 06:19:53

标签: php url append

<a class="fancybox" href="images/<?php echo $prod['item_image_url']; ?>" data-fancybox-group="gallery" title=""><img src="images/<?php echo $prod['item_image_url']; ?>" alt="" /></a>

在此代码中echo $prod['item_image_url'];打印存储在我的表格中的图像网址,并打印出

href="images/new-thumb-01.jpg"

我正在尝试将此转换为

href="images/new-thumb-01-big.jpg"

不更改数据库条目。这意味着在网址末尾但在"-big"

之前的apped ".jpg"

4 个答案:

答案 0 :(得分:6)

您可以使用pathinfo功能:

$prod['item_image_url'] = "new-thumb-01.jpg";

$fileparts = pathinfo($prod['item_image_url']);

$bigFileName = $fileparts['filename'] . "-big." .$fileparts['extension'];

$bigFileName持有new-thumb-01-big.jpg

答案 1 :(得分:3)

您可以简单地使用explode()函数

$url = "images/new-thumb-01.jpg";
$image = explode('.', $url);
$newUrl =  $image[0].'-big.'.$image[1]; 
echo $newUrl;

希望这对你有帮助..

答案 2 :(得分:1)

如果文件名来自数据库,文件系统上可能不存在文件,则可以使用substr_replace()在文件名之间插入特定字符串:

<?php
$string = 'new-thumb-01.jpg';
$replacement = '-big';
echo substr_replace( $string , $replacement , strrpos($string, '.'), 0 );

答案 3 :(得分:1)

 You have to break filename and file extension and then add whatever file name 
 before extension.

 $fileOrg = $_FILES[0]['name'];
 $filenameOnly = array_pop(array_reverse(explode(".", $fileOrg )));
 $ext = end(explode('.', $fileOrg ));
 $filename = $filenameOnly . '-big' .'.' . $ext;