2010-07-10 1 views
0

나는 전체 페이지 html과 같이 사용자로부터 HTML을 가져 오거나 컬 또는 이메일을 통해 스크립트를 가져옵니다. 문제는 내가 html 문자열을 가지고 있지만 같은 페이지에서 별도의 iframe에 htmnl을 표시해야한다는 것입니다. 나는 teh iframe에 의해 참조 된 페이지에서 데이터베이스, 컬 또는 imap 코드를 모두 평판 치고 싶지 않습니다. 어떻게 든 HTML로 전달 된 HTML을 보여줄 수있는 방법이 있습니까? 변수를 얻는 것과 같습니다. html은 거대 할 수 있습니다 ... 이상하게 들리면 유감입니다.문자열에 html이 있어야합니다. 코드를 사용하여 별도의 html 페이지로 표시해야합니다.

답변

0

(내가 질문 오해하고 있지 않다 경우) 폼 안에 텍스트 영역에 문자열을 넣어 양식을 제출 할 수

을 ..

수신 페이지에 게시 된 데이터를 읽고 렌더링 것 페이지에서 ..

0

나는 당신이 무엇을하고 싶은지 잘 모르겠다. POST 변수로 문자열을 게시 할 수있다.

-1

urlencode으로 HTML 조각을 인코딩 할 수 있으며 $_GET으로 검색하거나 자동으로 디코딩됩니다. base64_encodebase64_decode. 문제는 $_GET$_POST에 제한이 있다는 것입니다. 둘 다 구성 설정에서 설정할 수 있지만 URL을 통해 많은 양의 데이터를 보내는 것은 실제로 사용하지 않는 것이기 때문에 실제로 완료되지 않습니다.

질문을 올바르게 읽은 경우 페이지 상단에 HTML을 가져온 다음 iframe에로드 할 수 있습니까?

if ($_GET['url']) { 
    $html = file($_GET['url']); 
} 
if ($_POST['html']) { 
    $html = $_POST['html']; 
}

그리고 그것을 포함

<html> 
.. 
<iframe ..><php echo $html; ?></iframe> 
.. 
</html>
+0

브라우저가 iframe을 지원하지 않으면 iframe 태그의 내용이 표시되지 않습니다. iframe에 아무 것도 표시하지 않으려면 src 속성에 링크를 추가해야합니다. http://www.w3schools.com/TAGS/tag_iframe.asp –

1

당신은 임시 파일로 캡처 한 HTML을 넣고 iframe 대응의 src=""에 해당 임시 파일에 대한 링크를 넣을 수 있습니다.

tempnam()을 사용하여 생성 한 다음 선호하는 파일 이름을 얻고 파일이 실제로 임시 파일 인 경우 간단히 인쇄합니다.

주의하십시오! 파일 이름을 제대로 검사하지 않으면 서버에 대한 전체 읽기 권한을 얻고 있습니다 ...이 스크립트에 대한 링크를 iframe의 src에 넣으십시오. www 서버의 공용 폴더에 임시 파일을 만들 수도 있지만 임시/가비지는 필요 없습니다.

+0

저는 임시 파일 아이디어를 좋아합니다. 임시 파일을 만드는 효과적인 방법은 무엇입니까? – Ali

+0

은 tempnam() (http://php.net/manual/en/function.tempnam.php)을 사용하여 만들 수 있습니다. 파일 이름을 확인하고 파일을 잘 확인하지 않으면 서버에 대한 전체 읽기 권한을 부여하는 작은 스크립트를 만든 다음 (간단히 말하면 난독 화 된) 파일 이름을 만들고 간단하게 파일을 인쇄합니다.) ...이 스크립트에 대한 링크를 iframe의 src에 넣으십시오. www 서버의 공용 폴더에 임시 파일을 만들 수도 있지만 임시/가비지는 필요하지 않습니다. –

관련 문제