0

您好我正在尝试让 php 返回文件名并将字符串作为 rel 标记的一部分返回,该标记将由 javascript 插件使用。

我需要添加一些 php 脚本以将文件名字符串返回到第二个连字符:到目前为止我有

<?php 
$filename = basename ( get_attached_file( get_post_thumbnail_id() ) ); 
?>
<?php echo pathinfo($filename, PATHINFO_FILENAME); ?>

它返回

tulip-367-011文件名是tulip-367-011.jpg我如何让它返回tulip-367

嗨我试过

<?php 
$filename = basename ( get_attached_file( get_post_thumbnail_id() ) ); 
?>
<?php echo $file_parts = explode('-', basename($filename)); 
array_pop($file_parts); // Remove the last segment 
$split_name = implode('-', $file_parts); 
?>

它返回了 Array - 不是万岁!那真的会让我发笑,我已经为此困扰了一周。再次感谢您的帮助,我会继续努力。我还不是一个很好的程序员,所以请随意嘲笑我的愚蠢。作为一个

我试过了

$file_parts = explode('-', basename($filename)); 
array_pop($file_parts); // Remove the last segment 
$split_name = implode('-', $file_parts); 

它还说Array。再次感谢您的帮助。

4

3 回答 3

1

只需使用basename而不是fileinfo.

例子:

$file_without_extension = basename($filename)

编辑

抱歉,我误读了原始问题,假设文件名是一致的,要删除最后一段,请执行以下操作:

$file_parts = explode('-', basename($filename));
array_pop($file_parts); // Remove the last segment
$split_name = implode('-', $file_parts;
于 2012-08-13T18:42:08.193 回答
0
$fileParts = pathinfo(get_attached_file( get_post_thumbnail_id()));
$nameParts = explode('-', $fileParts['basename']);
if (count($nameParts) > 1) {
    $myName = $nameParts[0]+'-'+$nameParts[1];
} else {
    $myName = $nameParts[0];
}
于 2012-08-13T18:52:45.310 回答
0

这修复了它:

<?php 
$filename = basename ( get_attached_file( get_post_thumbnail_id() ) ); 
$file_parts = explode('-', basename($filename)); 
array_pop($file_parts); // Remove the last segment 
$split_name = implode('-', $file_parts); 
echo $split_name;
?>

<a itemprop="image" href="<?php echo wp_get_attachment_url( get_post_thumbnail_id() ); ?>" class="Magic360" rel="filename:<?php echo $split_name?>-{col}.jpg; magnify:true; magnify-filename:<?php echo get_post_meta($post->ID, 'magnified_image_filename', true); ?>-{col}.jpg"><img src="<?php echo get_post_meta($post->ID, 'magnified_image', true); ?>"
于 2012-08-14T13:07:10.200 回答