мое имя файла хранится в переменной $ file_name … как я могу удалить расширение и просто иметь только имя? есть что-то другое, кроме strcmp, которое я могу использовать … что, похоже, не делает этого
Используйте pathinfo .
<?php $path_parts = pathinfo('/www/htdocs/inc/lib.inc.php'); echo $path_parts['dirname'], "\n"; echo $path_parts['basename'], "\n"; echo $path_parts['extension'], "\n"; echo $path_parts['filename'], "\n"; // since PHP 5.2.0 ?>
Примечание. Если вы не используете PHP> = 5.2, используйте это для создания имени файла
$path_parts['filename'] = substr($path_parts['basename'], 0, -1*strlen($path_parts['extension'])-1);
Ты можешь сделать:
$file_name_no_ext = pathinfo($file_name , PATHINFO_FILENAME);
substr($file_name, 0, -4);
Вы можете использовать регулярные выражения. Регулярное выражение для удаления расширения файла
Вы должны посмотреть на pathinfo()
.
Подобно @fire, но более устойчив перед несколькими точками:
$comps = explode('.', $filename); unset($comps[count($comps) - 1]); $ext = implode('.', $comps);
Я использую:
$file_name = current(explode(".", $file_name));