2012-04-06 4 views
1

내 웹 페이지에서 사용자는 드롭 다운 목록에서 항목을 선택할 수 있으며 표가 있습니다. Javascript는 자바 스크립트가 생성하는 새로운 테이블 행에서 각 드롭 다운 목록 항목 (자바 스크립트가 XML 파일에서 가져 오는 추가 정보 포함)을 인쇄합니다.PHP는 현재 문서를 어떻게 참조합니까?

디스크에 테이블 정보를 기록 할 수 있기를 원합니다. 자바 스크립트를 사용하는 경우 document.getElementByID ("table")를 사용하여 노드를 파싱하고이 정보를 작성할 수있는 변수에 넣습니다. 그러나, 대부분의 문서에서 Javascript는 디스크에 쓰는 데 사용되지 않는다고합니다. 그래서, 나는 PHP를 사용해야한다고 생각합니다.

Javascript의 'document'객체에 해당하는 PHP는 무엇입니까? Javascript에서는 새로운 개체를 정의 할 필요가 없으며 언제든지 '문서'를 사용할 수 있습니다. PHP에서 나는 새로운 DOMDocument를 사용해야한다고 생각합니다. 그런 다음 html을로드하십시오.

대부분의 PHP 예제는 loadHTML (string) 및 loadHTMLFile()을 보여줍니다. 태그 안에 쓰는 문자열에서 HTML을로드하고 싶지 않습니다. 그리고 .htm 파일에서 HTML을로드하고 싶지 않습니다. 원본 파일이고 Javascript가 드롭 다운 메뉴에서 선택한 내용을 기반으로 사용자 파일을 변경했기 때문입니다.

PHP를 사용하여 현재 문서의 요소에 액세스하려고합니다. PHP는 현재 문서를 어떻게 참조합니까?

내가 일하고 있어요 페이지가 기본 파일에 대한 http://music.collwyncraig.info/hajimama/setlist.htm

+4

PHP는 브라우저에서 실행되지 않습니다 *. 웹 서버 또는 독립 실행 형 프로그램으로 실행되는 경우가 많습니다. 일부 PHP 프로그램이 웹 페이지를 가져올 수 있다면 웹 페이지를 구문 분석하여 디스크에 쓸 수는 있지만 브라우저 내에서 실행하는 것과는 아무런 관련이 없습니다. – wallyk

+0

나는 그것을 이해하기 시작했다고 생각한다. 그렇다면 브라우저에서 실행중인 페이지 (HTML DOM)에서 정보를 가져 와서 서버로 보내서 서버의 파일에 저장할 수 있도록하려면 어떻게해야합니까? – collwyn

답변

1

을 시도 할 수 있습니다 내가 아키텍처에 대한 당신의 생각은 잘못된 생각합니다. 프로그래밍 언어가 서로 상호 작용하는 방법이 있습니다.

  • PHP는 전처리하고 생성 - U이 원하는 무엇을 적 - 일반적으로 HTML을, 자바 스크립트, CSS, 그리고 무엇을 포함 ...
  • 자바 스크립트가 생성 된 HTML 문서 또는 아약스에 의해 호출에서 상호 작용하는 동적 언어이다 HTML, 자바 스크립트, CSS를 제공하거나 필요한 어떤 다른 서비스는
  • 및 HTML - 그 표시하고 등등 CSS에 의해 스타일 자바 스크립트에 의해 런타임시에 수정 될 수 있습니다 문서 객체입니다 ...

그래서 당신의 문서 자바 스크립트 함수를 호출 할 때 - 기본적인 PHP는 이미 그 일을했다.

생성 된 모든 내용을 화면에서 직접 인쇄하는 대신 var에 먼저 저장할 수 있습니다.

예를 들어

:

$myContent = "<html><head>...</head><body><h1>Whatever...</h1></body>"; 

그래서 그게 당신이 할 수있는 화면에 인쇄하려면 다음 파일의

print "myContent"; // and it is shown on the screen 

또는

$myFile = "testFile.html"; 
$fh = fopen($myFile, 'w') or die("can't open file"); 
$myContent = "<html><head>...</head><body><h1>Whatever...</h1></body>"; 
fwrite($fh, $myContent); 
$myContent = "Whatever2"; 
fwrite($fh, $myContent); 
fclose($fh); 

그래서 내용 다음과 같습니다 :

<html><head>...</head><body><h1>Whatever...</h1></body>Whatever2 

이 생성 된 문서는 loadHTML에 의해 호출되거나 이 원하는 방식으로 사용됩니다.

어느 방향으로 나아갈 지에 대한 힌트로서 - 해결책이 여러 가지가 있습니다. 그래서 실제로 원하는 것을 더 많이 알지 못해서 적절한 해결책을 언급하는 것이 쉽지 않습니다.

+0

감사합니다. 현재 사용자는 드롭 다운 메뉴에서 항목을 선택하여 내 웹 페이지에 표를 작성할 수 있습니다. Javascript는 드롭 다운 메뉴의 선택 사항에 따라이 표를 만듭니다. 사용자가 만든 버튼을 클릭하여 만든 테이블을 파일로 저장하고 싶습니다. 브라우저에서 현재 페이지의 DOM에 액세스하여 서버로 다시 보내고 파일에 써야합니다. 권리? 자바 스크립트를 사용하여 브라우저에서 현재 페이지의 DOM에 액세스 할 수 있습니다. PHP를 사용하여 서버의 파일에 무언가를 쓸 수 있습니다. 이 두 가지 행동을 연결하는 방법을 모르겠습니다. – collwyn

+0

서버에 저장 하시겠습니까? 글쎄 - 만약 당신이 문서에 액세스 할 수 있습니다 - 그냥 PHP 파일에 그 위에 언급 한 매개 변수를 저장하여 내용을 보내주십시오. $ my_post [ 'theDocument'] - 자바 스크립트에 의해 ajax에 의해 호출 될 수 있습니다. –

0

$_SERVER['SCRIPT_NAME']입니다.

하거나 호출 한 파일의 전체 경로에 대한

__FILE__

.

PHP에는 jQuery와 같은 내장형 DOM Manipulator가 없습니다. HTML 출력은 대개 원하는 템플릿 엔진을 통해 또는 수동으로 생성됩니다. 당신이 jQuery를 같은 DOM 조작을 원하는 경우에 , 당신은 PHPQuery

http://code.google.com/p/phpquery/

관련 문제