2012-03-09 7 views
0

11000 페이지 이상의 제품 페이지로 작업하고있는 사이트가 있습니다. 그들은 쓰여졌습니다. .php확장자없이 파일 이름은 어떻게 얻습니까?

현재 페이지를 식별하기 위해 파일 이름 (.php 확장자없이)을 파일에 추가하려고합니다.

예 : 파일 이름이 상단 PHP 태그를 withing에 각 페이지에 추가하는 코드

$thisPage = "product1" 

product1.php 

라인이 합니다. 나는이 문제에 대한 해결책을 내가 인정하는 것보다 오랫동안 찾아 내려고 노력했다. 그리고 나는 PHP newb이지만, 그것들은 단순한 해결책이되어야하는 것처럼 보인다.

은 어떤 도움이 크게

$currentPage = $_SERVER["PHP_SELF"]; 


내가 파일의 이름을 얻기 위해 사용하는 알고 있나요 감상 할 수있다. 문자열에서 ".php"를 제거하기 위해 $ currentPage를자를 수 있습니다. 그러면 파일에 쓰려는 텍스트가 그대로 남아있게됩니다.

내가 가지고있는 어려움은 이름을 반향하는 것이 아니라 실제로 나중에 파일 이름을 새 문자열로 쓰면서 파일에 쓰는 것입니다.

내가 사용 인덱싱을 위해 각 페이지에

$currentPage = "the-truncated-file-name-text" 

고유로 남아있을 것입니다 그래서

그래서 파일

답변

2

php.net에 같은 "쓰기 ($ currentPage)는"멋진입니다 의지.

pathinfo 기능이 원하는 것입니다. 경로 또는 파일 이름을 해당 구성 파트로 나눕니다.

또는 폭발 할 수 있습니다 '.'

list($file, $ext) = explode('.',$myfile); 

그러나 이렇게하면 마지막 줄의 형식으로 더 이상 유효한 CSV 파일을 파일을 올바른되지 않습니다 만들 것입니다 점에 유의하지 다음

file_put_contents($filename, $stringtoadd, FILE_APPEND); 

를 호출하여 파일에 기록합니다.

+0

그러나 어떻게 하드 코드 된 문자열로 현재 파일에 기록합니까? – ZombieBunnies

4

어때?

$filename = basename(__FILE__, '.php'); 
+0

+1 내 대답보다 훨씬 더 간결합니다. – Josh

4
$thisPage = pathinfo($_SERVER['PHP_SELF'], PATHINFO_FILENAME); 

당신은 그들이 즉 현재 실행중인 파일을 반환하므로 코드가 포함 파일에있는 경우, 멀리 __FILE__ 같은 마법 상수에서 포함 된 파일의 경로를 유지하는 것이 좋습니다 방문자가 요청한 스크립트는 반환되지 않습니다.

0

scandir을 사용하면 디렉토리에있는 파일 목록을 가져올 수 있습니다. 그런 다음 substr을 사용하여 파일 이름에서 마지막 4자를 제거하십시오.

관련 문제