Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从$#服务器[';请求#URI';]中删除父文件夹;_Php_Request Uri - Fatal编程技术网

Php 从$#服务器[';请求#URI';]中删除父文件夹;

Php 从$#服务器[';请求#URI';]中删除父文件夹;,php,request-uri,Php,Request Uri,我想删除$_SERVER['REQUEST_URI']输出的第一个文件夹 // I use it as language switcher in my website, here's how it works: <?php $currenturl=$_SERVER['REQUEST_URI']; ?> <a href="https://mysite.com/<?php echo $currenturl ?>">United States</a>

我想删除$_SERVER['REQUEST_URI']输出的第一个文件夹

// I use it as language switcher in my website, here's how it works:

<?php $currenturl=$_SERVER['REQUEST_URI']; ?>

<a href="https://mysite.com/<?php echo $currenturl ?>">United States</a>
<a href="https://mysite.com/ca<?php echo $currenturl ?>">Canada</a>
<a href="https://mysite.com/br<?php echo $currenturl ?>">Brasil</a>
//我在我的网站中将其用作语言切换器,其工作原理如下:
问题是,例如在加拿大,它输出:

应该是


使用
str\u替换

<?php 

$currenturl=$_SERVER['REQUEST_URI'];
$currenturl=str_replace('/ca','',$currenturl); // I have added it here

?>

<a href="https://mysite.com/<?php echo $currenturl ?>">United States</a>
<a href="https://mysite.com/ca<?php echo $currenturl ?>">Canada</a>
<a href="https://mysite.com/br<?php echo $currenturl ?>">Brasil</a>

好吧,我想您是在尝试获取路径的文件名,而不是删除第一个文件夹。 请尝试以下代码:

$currenturl=basename($_SERVER['REQUEST_URI']);

$\u服务器['REQUEST\u URI']
由php提供,您不能简单地从htaccess文件中删除它。您需要在php中删除它:

<?php $currenturl=preg_replace('#(/[a-z]{2})?(/.*)#','${2}',$_SERVER['REQUEST_URI']); ?>

我使用了Shankar Damodaran稍加修改的示例-

<?php
    $currenturl = $_SERVER['REQUEST_URI'];
    $languge_folder  = array('/en', '/ru', '/ua');
    $currenturl_en = str_replace($languge_folder,'',$currenturl); 
    $currenturl_ru = str_replace($languge_folder,'',$currenturl);
    $currenturl_ua = str_replace($languge_folder,'',$currenturl);
?>
          <select id="select-language" onchange="window.location.href=this.value">
             <option value="/ua/<?php echo $currenturl_ua; ?>"  selected="selected">Ukrainian</option>
             <option value="/ru/<?php echo $currenturl_ru; ?>" >Russian</option>
             <option value="/en/<?php echo $currenturl_en; ?>" >English</option>
          </select>


当点击链接时,我看不到输出,它只是说无法连接。是的,只是为了举例说明,仔细看看链接。这正是我需要的,但很简单!(6分钟内接受回答)