2009-08-19 6 views
2

동일한 서버의 파일에서 변수를 추출하는 스크립트를 만들려고합니다.PHP - 코드를 실행하지 않고 다른 PHP 파일에서 변수를 가져 옵니까?

문제는 무엇인지 모르겠다. 은 항상 파일에 포함될 예정이며 (스크립트는 다른 사람들이 사용하기 때문에) 실제로 모든 파일을로드하고 싶지는 않습니다. 내용을 읽거나 코드를 실행하십시오.

필자는 require 또는 include와 같은 것보다는 file_get_contents를 사용하려고 생각했지만 막혀 있습니다 ... 문자열 내에있는 모든 변수를 구문 분석 할 수있는 방법이 있습니까? 또는 파일을 포함하는 "안전한"방법이 있습니까?

많은 감사, 제임스

+1

나는 당신이 문제를 잘못 처리하고있는 것처럼 느낍니다. 너 정확히 뭘 하려구? – Havenard

+0

기존 시스템 클라이언트의 사용자에게 기능을 추가하는 스크립트를 작성하려고합니다. 각 클라이언트에는 필요한 변수에 들어있는 정보가 들어있는 파일이 있지만 필요한 정보 외에 다른 변수 (특정 기능을 수행하는 다른 PHP 코드)도 있습니다. 이 파일에서 필요한 데이터를 추출하는 안전한 방법을 찾고 있습니다. –

답변

2

왜 그런 다음 다른 두 개의 파일에 그들을 포함, 세 번째 파일에있는 모든 변수를 넣지 마십시오?

"다른 사람들이 사용하기"때문에 다른 사람이 파일을 쓸 수 있다는 것을 의미하는 경우 위험한 것처럼 들립니다.

+0

내 스크립트가 기존 시스템에 기능을 추가하려고합니다. 일반적으로이 파일은 변수 만 포함해야하지만 매우 피곤합니다. 또한 필자가 필요로하지 않는 많은 쓸모없는 변수를 내 스크립트에 포함하고 싶지 않습니다. 이상적으로 이것은 "플러그 앤 플레이"응용 프로그램이어야하므로 실제로 사용자에게 응용 프로그램을 변경하도록 요청할 수는 없습니다. –

1

이 경우 사용자가 PHP 파일을 전혀 편집하지 않게 할 수 있습니다. 당신이 지적한 것처럼 당신이 그 내용을 믿을 수 없다면 include() 파일을 할 수 없습니다. 파일을 PHP로 실행할 수 없으므로 PHP 인 경우 파일에 아무런 이점이 없으므로 자신의 스크립트가 더 쉽게 읽을 수있는 형식을 선택할 수 있습니다. 예를 들어, parse_ini_file 기능을 사용하면 .ini 파일에서 쉽게 구성 값을 읽을 수 있습니다.

절대적으로 PHP 파일이어야하는 경우 수동으로 구문 분석해야 할 수 있습니다. 파일이 PHP의 하위 집합 (예 : 변수 선언 외에는 아무것도 포함하지 않음)을 요구할 수있는 경우, 가능한 한 들리지만, 여전히 매우 해킹 당합니다. 파일이 합법적으로 PHP 스크립트가 될 수 있다면, 일부 변수가 정의되는 경우라면 아키텍처 전체를 다시 생각해 볼 때입니다.

3

file_get_contents +는 preg_match

당신은 그것과 함께 갈 약간의 교묘 한 정규식이 필요합니다.

관련 문제