基于文件夹域名的php开关

时间:2012-02-29 18:03:17

标签: php

是否有可能有一个使用开关的php页面根据访问该页面的子域显示某个图像?例如,www.mysite.com/example1将显示example1.jpg,而www.mysite.com/example2将显示example2.jpg?我有一个打印表单,我希望有人能够从页面打印,但有超过50个不同的子文件夹名称在我们的离线网址中使用。

希望这是有道理的,像开关这样的东西可以解决这个问题。

感谢您提供任何帮助。

3 个答案:

答案 0 :(得分:1)

是的,您需要做的就是解析请求URI,具体取决于它是否会有更多信息。但你可以拥有这个

<img src="<?php echo $_SERVER['REQUEST_URI']?>.jpg" />

最简单的形式。没有测试,但我认为这是正确的

如果你想要它更复杂,你可以做这样的事情

<?php
$url = $_SERVER['REQUEST_URI'];
$img = 'example1.jpg';
switch($url)
{
    default:
    case 'example1':
        break;
    case 'example2':
        $img = 'example2.jpg';
        break
    // other cases
}
?>
<img src="<?php echo $img?>" />

答案 1 :(得分:0)

您将解析当前页面的网址,然后显示您想要的图片(假设所有图片都位于同一目录中)。

所以:

$parsed=parse_url($url);
$fn=basename($parsed['path'],'.php'); //given that all your pages are .php pages
$img= $path_to_images . $fn.'.jpg';

echo "<img src='$img'/>";

答案 2 :(得分:0)

尝试使用$_SERVER['PHP_SELF']; 它包含自我链接。您需要做的就是构建一个删除不需要内容的函数(在本例中为http://www.mysite.com/)并使用接下来的内容。
示例:

<?php
     function removeDomain($strDomain){
         //Divide the string into pieces separated by "/";
         $domain = explode("/", $strDomain);
         //Unset http: and the domain name
         unset($domain[0], $domain[1], $domain[2]);
         //put together whatever is after the domain name.
         return implode("/", $domain);
     }
     echo removeDomain($_SERVER['PHP_SELF']);
?>