我正在尝试根据用户所在网址的当前页面添加文件。
文件存储在/ includes /所有情况下和同一域中。
如果用户所在的当前网址是:
www.website.com/page/text_i_want.php?info=tree
<?php $url = curPageURL();?><?php include ("{$_SERVER['DOCUMENT_ROOT']}/includes.'/'.$id = substr( $url, strrpos( $url, '/' )+1" ?>
这就是我所拥有的,但即使它确实有效,也不会删除包含.php之后的所有内容并将.txt添加到结尾
我只是想从URL的末尾抓取text_i_want(不包括动态部分)并将.txt添加到结尾,以便我有效地包括:
{$_SERVER['DOCUMENT_ROOT']}/includes/text_i_want.txt
我一直在';'错误和语法错误,我所拥有的意外T_ECHO。
更新:
<?php include $_SERVER['DOCUMENT_ROOT'] . '/includes/' . basename($_SERVER['REQUEST_URI'], '?'.$_SERVER['QUERY_STRING']); ?>
该代码抓取URL末尾的文件名,这就是我想要的。我只是不确定如何用.txt
替换.php答案 0 :(得分:1)
我认为这就是你所需要的:
<?php include $_SERVER['DOCUMENT_ROOT'] . '/includes/' . basename(__FILE__, '.php') . '.txt'; ?>
更新
根据您的更新,请尝试$_SERVER['REQUEST_URI']
PHP文档说:“为了访问此页面而提供的URI;例如,'/ index.html'”。
如果这不是您想要的,请阅读PHP Server Variables
答案 1 :(得分:0)
解决了:(但不确定这是多么高效或整洁,但它确实有效)
我真的不知道我在做什么,但不知怎的,我已经设法混合@ SamOwl的代码和我找到的一个并稍微编辑它们以实现结果在想要:
<?php include $_SERVER['DOCUMENT_ROOT'] . '/includes/' . basename($_SERVER['REQUEST_URI'], 'php?'.$_SERVER['QUERY_STRING']) . 'txt'; ?>