Я хочу отобразить полное имя.jpg как полное имя. Как я могу это сделать? Ниже приведен код, который у меня есть
<?php
$folder = opendir(dirname(realpath(__FILE__)).'/img/');
while($file = readdir($folder)){
if($file !== '.' && $file !== '..'){
echo '<div class="wrap"><a href="img/'.$file.'"><img src="img/'.$file.'"/>';
echo '<p>'.$file.'</p></a></div>
';
}
}
?>
Вы можете получить имя файла, используя http://php.net/manual/en/function.pathinfo.php вот так :
$filenameonly=pathinfo($file)['filename'];
и вы можете заменить символы с помощью http://php.net/manual/en/function.str-replace.php вот так :
$filenamewithoutdash=str_replace('-','',$filenameonly);
попробуй это:
<?php
$folder = opendir(dirname(realpath(__FILE__)).'/img/');
while($file = readdir($folder)){
if($file !== '.' && $file !== '..'){
echo '<div class="wrap"><a href="img/'.$file.'"><img src="img/'.$file.'"/>';
$withoutExt = preg_replace('/\\.[^.\\s]{3,4}$/', '', $file);
echo '<p>'.str_replace('-', ' ', $withoutExt).'</p></a></div>';
}
}
?>
я изменил это на следующее, чтобы заставить его работать
<?php
$folder = opendir(dirname(realpath(__FILE__)).'/img/');
while($file = readdir($folder)){
if($file !== '.' && $file !== '..'){
echo '<div class="wrap"><a href="img/'.$file.'"><img src="img/'.$file.'"/>';
$file = substr($file, 0, (strlen($file))-(strlen(strrchr($file, '.'))));
$file = str_replace('-', ' ', $file);
echo '<p>'.$file.'</p></a></div>
';
}
}
?>
это может быть функция, а затем вызывать ее с помощью короткого кода или чего-то еще?
использование strrchr (), StrLen () а также str_replace () функции.
<?php
$folder = opendir(dirname(realpath(__FILE__)).'/img/');
while ($file = readdir($folder)) {
if ($file !== '.' && $file !== '..'){
$file = substr($file, 0, (strlen($file))-(strlen(strrchr($file, '.'))));
$file = str_replace('-', ' ', $file);
echo '<div class="wrap"><a href="img/'.$file.'"><img src="img/'.$file.'"/>';
echo '<p>'.$file.'</p></a></div>';
}
}
?>