0

こんにちは、php にファイル名を返させ、文字列を javascript プラグインで使用される rel タグの一部として返そうとしています。

ファイル名文字列を 2 番目のハイフォンまで返すには、いくつかの 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 を返しました - エヴァン・ホーレイではありません! それは本当に私を笑わせたでしょう、私はこれに1週間困惑しています. もう一度助けてくれてありがとう。私はまだあまり上手なプログラマーではないので、私の愚かさを笑ってください。として

そして、私は試しました

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

そして、アレイとも言いました。ご協力いただきありがとうございます。

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

これで修正されました:

<?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 に答える
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 に答える