php在文件扩展名之前添加文本


php add text before file extension

我试图在链接媒体文件的扩展名之前添加文本"-250x250"。我正在使用以下代码:

$ext = substr($image, strrpos($image, "."));
$thumb = basename($image, $ext) . "-250x250" . $ext;

我遇到的问题是,这似乎也去掉了文件名之前的所有内容,所以$image可能会输出为http://www.skizzar.com/template-fox/files/2014/04/fox3.jpg.$thumb仅输出fox3-250x250.jpg

有没有一种方法可以阻止我的代码剥离通往文件的路径?

试试这个。

$fileName = ' http://www.skizzar.com/template-fox/files/abc.jpg';
$fileArray = pathinfo($fileName);
echo $fileArray['dirname'].'/'.$fileArray['filename'].'-250x250'.'.'.$fileArray['extension'];

这是一个工作演示。

演示

add_image_size( 'my-size', 250, 250, true );
function my_thumb( $size = 'my-size' ){
    global $post;
        $image_id = get_post_thumbnail_id($post->ID);  
        $image_url = wp_get_attachment_image($image_id, $size , false, array( 'alt'   => get_the_title() ,'title' =>  get_the_title()  ));  
        echo $image_url;
    }

然后在循环中使用my_thumb函数,例如:

<img src="<?php echo my_thumb('my-size'); ?>" />

注意:这也会调整媒体文件的大小