전 PHP에서 외부 웹페이지를 가져올 때 file_get_contents라는 함수를 즐겨쓰는데, 이 놈이 이미지까지 해결해 주더군요. 여기까진 다 아시겠고... :)
위 함수로 해결 안되는 것이 헤더인데요, 마임타입이라던지 잡다한 놈을 얻기 위해서 소켓을 열어서 헤더를 파싱해서 사용하시는 분이 많더군요(PHP Q&A게시판에서 자주 나온다고 할까나...)
1원짜리 팁은 바로 이것입니다.
$http_response_header
이 넘이 있다는 사실을 지금까진 몰랐는데, 상당히 재미있는 놈이더군요. 일단, PHP에서 미리 정의된 변수로, file_get_contents로 외부 페이지던 동영상이던 읽어오면 위 변수에는 헤더가 저장이 됩니다.
메뉴얼을 링크해놨는데, 뭐 이런 식으로 나온다고 하네요.
<?php
file_get_contents("http://example.com");
var_dump($http_response_header);
?>
array(9) {
[0]=>
string(15) "HTTP/1.1 200 OK"
[1]=>
string(35) "Date: Sat, 12 Apr 2008 17:30:38 GMT"
[2]=>
string(29) "Server: Apache/2.2.3 (CentOS)"
[3]=>
string(44) "Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT"
[4]=>
string(27) "ETag: "280100-1b6-80bfd280""
[5]=>
string(20) "Accept-Ranges: bytes"
[6]=>
string(19) "Content-Length: 438"
[7]=>
string(17) "Connection: close"
[8]=>
string(38) "Content-Type: text/html; charset=UTF-8"
}
전 외부 이미지와 마임타입을 가져오기 위해서 다음과 같이 이용합니다.
$a = file_get_contents($imageUrl);
foreach($http_response_header as $item)
{
if(preg_match('/Content-Type/', $item))
{
$contentType = trim(preg_replace('/.+:/', '', $item));
continue;
}
}
영삼넷
Categories
Recent Posts
Recent Comments
Statistics
- Total Visitors:
- 410409
- Today:
- 6846540
- Yesterday:
- 9754777
IT강국 김영삼 블로그에 오신걸 진심으로 환영합니다.
©2002 영삼넷 // openkr
©2002 영삼넷 // openkr