子串另一个函数

时间:2012-08-18 13:22:07

标签: php substring

<input type="hidden" name="com_link" value="?dir=<?php echo 'gallery/'.urldecode($curr_image['dir']); ?>&pic=<?php echo substr(urldecode($curr_image['filename']), 0, -4); ?>">    

substr(urldecode($curr_image['filename']), 0, -4);我想发送不带.jpg

的文件名

3 个答案:

答案 0 :(得分:3)

您可以使用一些方法来获取没有扩展名的路径。

一种方法是使用PHP的substr()strrpos()

$image = urldecode($curr_image['filename']);
$name = substr($image, 0, strrpos($image, '.'));

这将获得$image的子字符串,直到最后.

另一种方法,如果你知道扩展名总是4个字符(包括.),那就是砍掉最后4个字符:

$image = urldecode($curr_image['filename']);
$length = strlen($image);
$name = substr($image, 0, $length - 4);

这最后一种方法似乎是你开始尝试做的。

答案 1 :(得分:0)

为什么不尝试http://php.net/basename

<?php echo basename($curr_image['filename'], '.jpg'); ?>

答案 2 :(得分:0)

尝试

  urlencode(pathinfo($curr_image['filename'], PATHINFO_FILENAME));