2009-09-30 7 views
0

저와 함께하시기 바랍니다. PHP를 배우려고 노력하고 있습니다. 서버 측에서 파일 &을 어떻게 처리해야하는지 모두 알고 싶습니다. 최근에 내 호스팅 사이트를 전환해야 할 때까지 모두 괜찮 았습니다. 이 새로운 호스팅 사이트의 주소는 url_fopen입니다.파일을 cURL로 로딩하기

file_get_contents ("that.htm"); 

을하지만 지금은 컬을 사용해야합니다

내 이전의 스크립트를 사용하고 있었다. 나는 문제없이 원격 파일을로드하는 방법을 알아 냈다.

$path = $_SERVER["PHP_SELF"]; 
$file = replace("this.php","that.htm",$path); 

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, $file); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HEADER, 0); 

$data = curl_exec($ch); 
curl_close($ch); 

* 참고 : "this.php"입니다 위의 스크립트를 conatining 파일 "that.htm을 다음과 같이 나는 다음이 캐시 파일을 (이 제한되지 이후 여전히 file_put_contents를 사용하여)을 저장하고 다시 액세스 "동일한 디렉토리에 캐시 된 파일입니다 (<html> 또는 <body>과 같은 내부 HTML을 모두 가지고 있지는 않지만 차이가 나는 경우 <table>이 있습니다). 또한 "that.htm"의 파일 사용 권한은 777로 설정됩니다.

내 문제는 $ 데이터에서 출력을 얻지 못합니다 (그리고 "that.htm"에 적절한 내용이 있음을 볼 수 있습니다. 브라우저에서 직접 파일을로드 할 수 있습니다.)

그래서 나는 $ 파일 설정에는 출력 얻을 : [ "PHP_SELF"] & 그냥 파일 이름

  • 전체 URL을 사용을 사용하여 파일 이름
  • 교체 $ _SERVER를 사용

    $ 데이터 다음에 var_dump를 추가하려고했지만 분명히 스크립트가 그 지점에 도달하지 못했습니다.

    나는 그것이 바보 같은 것이 틀림 없다. 그러나 그물과이 사이트를 검색 할 때 나는 그것을 이해할 수 없다 (모든 예제는 단지 "http://example.com"라고 말함).

  • +1

    로컬 파일을 열거 나 다른 서버에 요청 하시겠습니까? – RageZ

    +0

    로컬 파일 – Mottie

    답변

    1

    초기 스크립트 파일과 같은 디렉토리에있는 (정적) 파일에 액세스하려는 것 같습니다. 이 경우 http 요청이 필요하지 않습니다.
    이와 같이 오류보고 수준을 올리면 스크립트는 무엇을 인쇄합니까?

    error_reporting(E_ALL); 
    ini_set('display_errors', 1); 
    
    file_get_contents ("./that.htm"); 
    

    모든 오류/경고 메시지?

    +0

    완벽하게 작동하는 LOL입니다! 좋아, 왜 url_fopen이 꺼져있을 때 작동합니까? ... php를 더 복잡하게 만들 수 있습니까? – Mottie

    +0

    f_g_c ('./ that.htm')는 다음 파일에 의해 처리됩니다. - "wrapper"(즉, 로컬 파일 시스템). 그리고 url_fopen은 "wrapper"에 영향을 미치지 않으며 "http :", "ftp :"등등에만 적용됩니다. – VolkerK

    관련 문제