-1
<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

4

3 回答 3

3

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

一种是将PHPsubstr()与以下一起使用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);

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

于 2012-08-18T13:24:22.557 回答
0

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

<?php echo basename($curr_image['filename'], '.jpg'); ?>
于 2012-08-18T13:23:29.857 回答
0

尝试

  urlencode(pathinfo($curr_image['filename'], PATHINFO_FILENAME));
于 2012-08-18T13:27:37.950 回答