如何使用文件名作为变量

时间:2015-02-13 15:13:30

标签: php

我尝试将文件的名称用作变量,我也尝试使用此变量来使用include()包含该文件:

示例:

文件名称为:contact_us.php

$var = file name // (with underscores removed)
echo $var // will print contactus

有没有办法用空格替换_并将第一个字母大写?

我在下面使用此代码,但我没有index.php尝试插入变量来替换单词index,而是可能吗?

<?php ob_start();
include ($_SERVER['DOCUMENT_ROOT'].'index.php');
ob_end_clean();
?>

2 个答案:

答案 0 :(得分:2)

您可以使用str_replace()这样的功能:

$parts = explode('/', $_SERVER["SCRIPT_NAME"]);
$filename = $parts[count($parts) - 1];
$filename = str_replace('_', ' ', str_replace('.php','',$filename));
echo ucfirst($filename); //will print Contact us

要包含文件,您可以执行以下操作:

ob_start();
$parts = explode('/', $_SERVER["SCRIPT_NAME"]);
$filename = $parts[count($parts) - 1];
include ($_SERVER['DOCUMENT_ROOT'] . '/' . $filename);
ob_end_clean();

答案 1 :(得分:1)

文件名:

$var = 'contact_us.php';

包含&#34; /文件根目录/ contact_us.php&#34;:

ob_start();
include ($_SERVER['DOCUMENT_ROOT'] . '/' . $var);
ob_end_clean();

显示为&#34;联系我们&#34;:

$var = preg_replace('#\.php$#i', '', $var); // Drop .php extension
$var = str_replace('_', ' ', $var);         // Replace _ with spaces
$var = ucfirst($var);                       // Make first char uppercase
echo $var, PHP_EOL;

输出:

Contact us