2012-09-20 4 views
0

가능한 복제를 명령을 받아 PHP하지 않습니다
Making variable from HTML-file work in PHP-file

나는이 PHP 파일에 인수를 전달하는 다른 파일 (HTML 파일)가 있습니다. 그래서 "echo"로 검사했고, HTML 파일에 쓴 것과 같은 인자를 던졌습니다. 그래서 지금까지는 그렇게 좋았습니다. PHP 파일은 다음과 같습니다.

<? 
     $filepath = "/usr/sbin"; 
     exec("ONE $search -command $filepath "); 
     fopen($filepath, "rw"); 
?> 

내가 파일의 일부 "greps"를 할 쓴 bash는 스크립트는 하나 개의 인수를 받아 그 행동이 PHP 파일을 통해 전달된다 "$ 검색"입니다 명령 "ONE". 그리고 "$ search"를 실제 단어 "searchword"와 교환하면 매력처럼 작동합니다. 왜 "$ search"를 인수로 받아들이지 않습니까? 그냥 무시하고 빈 페이지를 던져 버리는 것 같습니다. 그러나 "searchword"를 사용하면 원하는 것을 되돌려줍니다.

+1

어디에서'$ search'를 정의합니까? – andrewsi

+0

중복이 아닙니다. 정교함입니다. –

+0

HTML 파일에서 "이름"으로 정의되었습니다.

검색 대상 :

답변

3

fopen에 구문 오류가 있습니다 (아마도 인쇄 오류입니다).

$search과 반대로 $_REQUEST['search']을 사용 하시겠습니까? "PHP 파일에 인수를 전달하는 HTML 파일"이라는 말은 링크 나 비동기 요청을 의미한다고 생각합니다. 이 경우 escapeshellarg을 사용해야합니다.

+0

죄송합니다, escapeshellarg 무엇입니까? –

+0

http://php.net/manual/en/function.escapeshellarg.php –

+0

고마워요. –

0

확인이 아웃 :

exec("ONE {$search} -command {$filepath} "); 

가 작동합니까?

+1

{$ var}은 다른 문자와 연결되었을 때만 사용됩니다. 'echo "{$ var} s ;;와 같이 PHP가 $ var 대신 $ vars 변수를 검색하는 것을 피합니다. –

+0

Nice는 여러분 모두를 시도하지만 PHP가 변수를 명령의 인수로 받아들이게하는 것은 불가능합니다. 신비입니다. –

0
exec("ONE $search -command $filepath "); 

트레일 링 스페이스?

관련 문제