초기 개요다이 명령을 포함하는 PHP 프로세스 (php 포함) 결과 얻기
나는 작업중인 프로젝트에 대한 사용자 지정 파일 제공 도구를 작성하기 위해 PHP를 사용하고 있습니다. 이 도구는 지금까지 잘 작동하지만 PHP 파일을 제공 할 때 이상한 상황에 부딪 혔습니다.
내 초기 파일, server.php은 올바른 헤더 및 캐시 컨트롤 등
이Server.php 파일은 이미지 같은 플랫 파일의 내용을 얻을 명령을 사용하고있는 파일을 파일 요청을 봉사하도록 설계 그들에게 에코 프린트 스타일을 제공하십시오.
Server.php는 현재 include (출력 버퍼링 포함)를 사용하여 PHP 파일의 내용을 가져옵니다. 이 명령은 포함 파일에 die 명령이 포함될 때까지 잘 작동합니다.
프로세스를 종료하기 위해 die 대신 return을 사용하여 실험했습니다. 그러나 포함 된 파일에 추가 파일이 포함되어 있으면 작업을 수행하지 못합니다.
간단히 말해서, 하나의 PHP 파일 "server.php"가 있습니다. 여기에는 다른 PHP 파일이 포함되어 있습니다. 독립적 인 플랫 파일처럼 처리 된 출력을 얻고 싶습니다. 변수가 전역 범위로 이동하는 것에 신경 쓰지 않고 출력 만 원합니다. 어떤 아이디어?
감사합니다 얘들 아
편집
난을 얻을 수 있었으면
<?php
echo 'File start'."<br>\n";
ob_start();
include("file.php");
echo ob_get_clean();
echo 'File end'."<br>\n";
?>
file.php
<?php
echo 'I am expecting to get this data.'."<br>\n";
die;
echo 'I am not expecting to get this data.'."<br>\n";
?>
server.php 결과는 대략 비슷합니다.
파일 시작
이 데이터를 가져올 것으로 예상됩니다.
파일 끝
내가 얻는 결과는 다음과 같습니다.
파일 시작
이 데이터를 가져올 것으로 예상됩니다.
다이 대신 리턴을 사용하면 예상되는 결과를 얻습니다. 하지만 그 사람은 죽을 사용 중지하고 내 프로그램을 위반. 바라기를 나의 편집은 문제를 잘 설명한다. 다시 건배.
당신이 다른 사람의 코드를 실행하는 건가요 포함 된 파일에서 PHP 코드를 실행할 필요로하기 때문에, PHP 파일의 내용을 얻을 수 file_get_contents()를 사용 그 안에서 '죽는다'고 부르면, 당신은 그것을 통제 할 수 없습니까? 그것은 매우 나쁜 생각처럼 들립니다. 너 왜 이러는거야? – Pudge601
나는 당신의 말을 이해하고, 나는 다른 사람들의 코드를 실행하고 있지 않다. 그러나 확실히 다이를 포함 할 수있는 코드를 실행합니다. 만약 내가 그것을 만들 수 있습니다, 나는 결국 다른 사람들이 코드를 실행할 수 있습니다. 웹 서버에 대한 파일 요청을 관리하는 데 실제로 server.php를 사용하고 있습니다. server.php에 모든 요청을 전달하는 간단한 htaccess 규칙이 있습니다. –
필자는 파일 타겟팅 시스템과 URL 재 작성 엔진을 에뮬레이션하는 클래스를 작성했습니다. 한 번 파일 처리를 처리했습니다. 이것은 현재 매우 잘 작동하고 있으며 현재 포함 및 출력 버퍼링을 사용하여 PHP 웹 페이지를 해결합니다. 그러나 그 페이지가 주사위를 포함하고 있다면 페이로드를 기록하는 내 프로그램의 나머지 부분은 멈추게됩니다. –