filenames — получение имени файла без расширения файла в моем php-коде

то, что я пытаюсь сделать здесь, в моем PHP-коде ниже, я должен установить имя файла вручную, и я хочу сделать это так, как он захватывает имя файла автоматически, но без расширения файла

вот часть моего кода, где я хочу получить имя файла

$Pages = array(
'clothes' => 'Clothes',
'shirt' => 'shirt',
'this-shirt' => 'This Shirt'
);

где написано, что эта рубашка — это имя файла, и я хочу, чтобы оно устанавливалось автоматически, вместо того, чтобы записывать его каждый раз, когда создаю страницу. также вот полный код

<?php
$Pages = array(
'clothes' => 'Clothes',
'shirt' => 'shirt',
'this-shirt' => 'This Shirt'
);

$path = $_SERVER["PHP_SELF"];
$parts = explode('/', $path);
if (count($parts) < 2) {
echo("home");
} else {
echo ("<a href=\"http://domain.com\">Home</a> &raquo; ");
for ($i = 2; $i < count($parts); $i++) {
if (!strstr($parts[$i], ".")) {
echo("<a href=\"");
for ($j = 0; $j <= $i; $j++) {
echo $parts[$j] . "/";
};
echo("\">" . str_replace('-', ' ', $Pages[$parts[$i]]) . "</a> &raquo; ");
} else {
$str = $parts[$i];
$pos = strrpos($str, ".");
$parts[$i] = substr($str, 0, $pos);
echo str_replace('-', ' ', $Pages[$parts[$i]]);
}
}
}

надеюсь, вы поняли идею. Спасибо

0

Решение

Это должно сделать это:

// get this-shirt.php from the URL
$file = basename($_SERVER["PHP_SELF"]);

// pure magic
$filename = (count(explode('.', $file)) === 1 ? $file : implode('.', array_slice(explode('.', $file), 0, (count(explode('.', $file))-1))));

$Pages = array(
'clothes' => 'Clothes',
'shirt' => 'shirt',
$filename => 'This Shirt' // use $filename to declare the array's key
);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]