2012-02-29 4 views
1

스위치를 사용하여 해당 페이지에 액세스 한 하위 도메인을 기반으로 특정 이미지를 표시하는 PHP 페이지를 가질 수 있습니까? 예를 들어 www.mysite.com/example1은 example1.jpg를 표시하지만 www.mysite.com/example2는 example2.jpg를 표시합니까? 누군가가 페이지에서 인쇄 할 수 있도록 인쇄 양식을 가지고 있지만 오프라인 URL에 사용되는 50 가지 이상의 하위 폴더 이름이 있습니다.폴더 도메인 이름을 기반으로 한 PHP 스위치

희망 사항은 스위치와 같은 것이 이해할 수 있기를 바랍니다.

도움을 주셔서 감사합니다.

답변

1

그래, 더 많은 정보가 있는지 여부에 따라 요청 URI를 구문 분석하면됩니다. 하지만 당신은 가장 간단한 형태에서이

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

있을 수 있습니다. 테스트 havent 한,하지만 난이 당신이 그것을 더 복잡,이

<?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?>" /> 
+0

다른 두 답변 (모든이의 index.php 또는 뭔가를 통과) $ _SERVER – Ascherer

+0

[ 'REQUEST_URI'], 작동하지 않을 수 있습니다 예를 같은 것이다. html, 안돼? 그래서 당신의 src는'example.html.jpg'와 같을 것입니다. – dnagirl

+0

OP는'www.mysite.com/example1.html'을 말하지 않았으므로, 그렇게하지 않는다고 가정합니다. 그렇다면 구문 분석하거나 케이스에 포함시키는 것이 쉽습니다. – Ascherer

0

당신은 현재 페이지의 URL을 구문 분석 한 다음 원하는 그림을 표시 할 것 같은 뭔가를 할 수 원하는 경우

권리라고 생각합니다 (모든 사진이 같은 디렉토리에 있다는 것을 고려하면).

그래서 :

$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'/>"; 
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']); 
?> 
관련 문제