我有一个我正在处理超过11000个产品页面的网站。它们写的是.php
我正在尝试将文件名(不带文件扩展名.php)添加到文件中以识别当前页面。
实施例: 如果文件名是
product1.php
一行代码
$thisPage = "product1"
将使用顶级PHP标记添加到每个页面。我试图找到一个解决方案的时间比我承认的要长,虽然我是一个PHP新手,但似乎它们必须是一个简单的解决方案。
非常感谢任何帮助
$currentPage = $_SERVER["PHP_SELF"];
我知道用什么来获取文件的名称。我可以截断$ currentPage从字符串中删除“.php”。然后我将留下我想写入文件的文本。
我遇到的困难是将其写入文件,而不是回显名称,但实际上将文件名写为新字符串供以后使用。
那么我将留下什么
$currentPage = "the-truncated-file-name-text"
每个页面的唯一用途索引
类似于“写($ currentPage)”到文件
答案 0 :(得分:4)
这个怎么样?
$filename = basename(__FILE__, '.php');
答案 1 :(得分:4)
$thisPage = pathinfo($_SERVER['PHP_SELF'], PATHINFO_FILENAME );
您希望远离像__FILE__
这样的魔术常量,因为它们将返回当前运行的文件,即,如果代码位于包含文件中,则路径将返回包含文件的内容,而不是访问者请求的脚本。
答案 2 :(得分:2)
php.net是一个很好的资源。
pathinfo功能正是您想要的。它将路径或文件名拆分为其组成部分。
或者你可以爆炸'。'
list($file, $ext) = explode('.',$myfile);
将其写入您的文件,然后调用
file_put_contents($filename, $stringtoadd, FILE_APPEND);
但请注意,这样做会使您的文件不再是有效的CSV文件,因为最后一行的格式不正确。
答案 3 :(得分:0)