2012-04-02 2 views
3

전체 사이트를 Coldfusion에서 PHP로 변환 중입니다. 그래서, 이렇게 많은 질문을 기대하십시오. PHP이 쓰기 방법 :Coldfusion - PHP

if($_SERVER['PHP_SELF'] == '/newsletter.php') { 
    // do something 
} 

항상 CF 및 PHP 등 사이에 일대일 함수 동등성이있을 않을거야 :

<cfif cgi.script_name contains "newsletter"> 
+0

convert? 재 작성과 비슷하게 들립니다. –

답변

0

두 번째 값은 다음과 같습니다

(stripos는 ($는 _ SERVER [ 'PHP_SELF'], SUBSTR ('뉴스 레터', 0))) {

// 뭔가를 할 경우

}

+0

substr ('newsletter', 0) == 'newsletter'그리고 좋은 프로그래밍 습관으로 "> 0"을 추가해야합니다 (PHP가 내부적으로 동일한 일을하고 있음에도 불구하고). 마지막으로 이미 주어진 답변을 다시 게시하고 자신의 대답을 수락하는 것은 나쁜 습관입니다. –

+0

David - 많은 시도 후에 제안 된 코드 "> 0"이 작동하지 않았습니다. 내 대답에 사용 된 코드는 필자가 필요로하는 결과를 반환했으며 php.net에서 본 내용과 호환됩니다. –

+0

다음 코드를 실행하면> 0 부분이 거의 문제가 될 수 없습니다. '$ page ($ page, "newsletter"); 'if ($ posOfStrInPage> 0) = $ _SERVER [ 'PHP_SELF'];' '$ page = "/dir/newsletter.php"; $ posOfStrInPage = {' '에코 "뉴스 위치 $의 posOfStrInPage에 현재 페이지의 이름에서 발견
합니다.";' '}' '경우 (SUBSTR ('뉴스', 0) === '뉴스') { ' '에코 " 0 점의 Substr은 의미가 전혀 없으므로 정확히 동일합니다! ", ' '}' –

1

가장 가까운 상응하는 뭔가를 할 것이다 당신이 제공 한 것보다 더 많은 맥락이 종종 중요한 결과를 낳을 것입니다.

+0

많은 다른 페이지에 포함 된 템플릿 페이지에 있습니다. 대부분의 경우 수평 탐색 기능이 표시되지만 '뉴스 레터'페이지에 포함되어 있으면 뉴스 레터 링크가 표시됩니다. –

7
if(stripos($_SERVER['PHP_SELF'],"newsletter") > 0){ 

정확히 일치해야합니다. coldfusion은 대소 문자를 구별하지 않기 때문에 strpos보다는 stripos를 사용하고 ceejayoz와 같은 간단한 비교는 특정 파일과 일치합니다 (많은 상황에서 바람직하지만 cfml과 동일하지는 않습니다) . stripos에 추가