2013-02-24 2 views
1

서버로 파일 경로를 보내는 코드를 작성하려고합니다. php를 사용하여 각 행을 배열로 구문 분석하고 배열을 클라이언트에 반환하여 완료했습니다. 그것에.PHP와 Jquery - 클라이언트와 서버간에 데이터 보내기

내 프로그램을 실행할 때 테스트 목적으로 넣은 에코가 호출되지 않으므로 PHP 파일을 처리하는 것처럼 보이지 않습니다.

나는 PHP에 대해 절대적으로 아무 것도 모른다.

JQuery와 :

$("#codelines").load('ParsePHPForDisplay.php?filename=DBManager.php'); 

    console.log($('#codelines')); 
    pieces = $("#codelines").html().split("\n"); 

PHP는 : 내 HTML의 조각이

<?php 

class Parsing 
{ 
    function ParseStuff() 
    { 
     echo('hi'); 
     $parsedFile = file($_REQUEST['filename']); 
     echo($_REQUEST['filename']); 
//  foreach ($parsedFile as $parsedFile_num => $parsedFile) { 
//   echo"Line #<b>{$parsedFile_num}</b> : " .htmlspecialchars($parsedFile) . "<br/>\n"; 
//  } 
     return $parsedFile; 
    } 
} 

?> 

:

<section id="codestuff"> 
    <h2>Code Lines</h2> 
    <pre id="codelines"> 
    </pre> 
</section> 

편집 : 여기

내입니다 이제 PHP : 라인 5
에 ParsePHPForDisplay.php에 T_FUNCTION을 기대하고, 구문 오류, 예기치 T_STRING :

구문 분석 오류 :

<?php 


     echo('hi'); 
     $parsedFile = file($_REQUEST['filename']); 
     echo('test'); 
     echo($_REQUEST['filename']); 
//  foreach ($parsedFile as $parsedFile_num => $parsedFile) { 
//   echo"Line #<b>{$parsedFile_num}</b> : " .htmlspecialchars($parsedFile) . "<br/>\n"; 
//  } 
     return $parsedFile; 



?> 

나는이 오류가 발생합니다.

+0

ParseStuff()를 호출하는 코드가 없습니다 ... – Matt

+0

어떻게 하시겠습니까? – Yecats

+0

'$ myParse = new Parsing(); $ myParse-> ParseStuff();'당신의 목적을 위해서, 당신은 정말로 클래스에서 그것을 만들 필요가 없습니다. 당신이 자바 배경에서 온 것처럼 보입니다.그러나 하나의 함수 만 가지려고한다면 클래스 범위 외부에 놓을 수 있으므로 호출 할 필요없이 페이지가로드 될 때 실행됩니다. – Jon

답변

0

필자는 왜 파일을 배열로 구문 분석해야하는지 모르겠다 ... 모든 것을 큰 문자열로 보낸 다음 필요하면 줄을 배열로 나눌 수있다. to, in Javascript 일단 서버에서 가져옵니다 (예 : myString.split(/\n\r|\n|\r)).

그런 다음, PHP에서, 당신은 다만 할 수 있습니다

readfile($_REQUEST['filename']); exit;

(이 확보되지 않는 점에 유의, 당신은 특정 디렉토리에서 할 수 있도록 파일 만 outptut PHP 코드에 몇 가지 조건을 추가한다 예를 들어, PHP의 explode 함수를 보면 DIRECTORY_SEPARATOR을 구분 기호로 사용하여 파일 이름을 배열로 나눌 수 있습니다.

PHP에서는 return 문으로 아무 것도 출력되지 않습니다. 종종 return 값을 가진 함수를 통해 필요한 값을 얻지 만 여전히 echo 또는 print이 필요합니다.

<?php 
    $file = file_get_contents($_REQUEST['filename']); 
    echo $file; 
?> 

그러나이 게시하기 전에, 당신이 보안 문제를 확인해야합니다, 등 :

+0

와우, 고쳐 줬어! – Yecats

1

좋아, 난 당신이 자바 스크립트 부분에 배열로 파일을 분할하고 있기 때문에,이다, 당신이 사용해야하는 PHP를 믿는다 파일 이름을 ../ 사용하여 다른 디렉토리의 파일을 불러오는 사용자, PHP 파일을 가져 오지 않는 것 등

관련 문제