딥 php 함수 fileget_contents 시간 초과 처리 방법 상세 설명

1803 단어 phpfile get contents
1.시간 초과 시간 제한 증가 여기 주의:settime_limit 는 file 대신 PHP 프로그램의 시간 초과 설정 일 뿐 입 니 다.get_contents 함수 가 URL 을 읽 는 시간 초과.진짜 수정 fileget_contents 지연 은 resource$context 의 timeout 매개 변 수 를 사용 할 수 있 습 니 다.

$opts = array( 
    'http'=>array( 
        'method'=>"GET", 
        'timeout'=>60, 
    )  ); 
$context = stream_context_create($opts);       $html =file_get_contents('http://www.example.com', false, $context);
두 번,한 번 지연 이 있 으 면 몇 번 더 시도 하고 실 패 는 네트워크 등 요소 로 인해 해결 방법 이 없 지만 프로그램 을 수정 할 수 있 습 니 다.실패 할 때 몇 번 다시 시도 하고 실패 하면 버 립 니 다.fileget_contents()가 실패 하면 FALSE 로 돌아 가기 때문에 다음 과 같이 코드 를 작성 할 수 있 습 니 다:$cnt=0;while($cnt < 3 && ($str=@file_get_contents('http...'))===FALSE) $cnt++; 이상 의 방법 은 시간 초과 에 대처 하 는 것 이 이미 OK 되 었 다.'method'=>'GET'를 발견 한 사람 이 있 습 니 다.GET 도 post 로 설정 할 수 있 습 니 다.함 수 는 다음 과 같 습 니 다

   function Post($url, $post = null)
   {
       $context = array();

      if (is_array($post)) {
          ksort($post);

           $context['http'] = array (
              'timeout'=>60,
              'method' => 'POST',
              'content' => http_build_query($post, '', '&'),
            );
      }

      return file_get_contents($url, false, stream_context_create($context));
   }

   $data = array (
       'name' => 'test',
       'email' => '[email protected]',
       'submit' => 'submit',
   );

   echo Post('http://www.example.com', $data);

좋은 웹페이지 즐겨찾기