allow_url_fopen off 시 원격이미지 정보가져오기

php 설정상 allow_url_fopen 가 off 되어있을때

원격이미지 정보를 가져오는 방법입니다.


일종의 편법이며, 속도때문에 완전한 대안은 될수 없습니다.


<?php

function Ygetimagesize($url, $save_dir, $referer=''){

$array = parse_url($url);
$url_scheme = $array['scheme'];
$url_server = $array['host'];
$url_path = $array['path'];
$url_query= $array['query'];
$url_port = (empty($array['port'])) ? 80 : $array['port'];
$save_file = $save_dir . preg_replace("`^.+(\.[^.]+)$`", '/' . uniqid("") . "\\1", $array['path']);

$fp = fsockopen($url_server, $url_port);

if (empty($fp)) {

//echo "error-http소켓접속에 실패하였습니다.";
return Array();//배열만 생성해서 리턴
}

fputs($fp, "GET " . $url_path . "?" . $url_query . " HTTP/1.0\n");
fputs($fp, "Accept: */*\n");
fputs($fp, "Content-Type: application/x-www-form-urlencoded\n");
fputs($fp, "Host: $url_server:$url_port\n");
fputs($fp, "Referer: $referer\n");
fputs($fp, "Cache-control: private\n");
fputs($fp, "Pragma: no-cache\n");
fputs($fp, "Connection: close\n\n");

$text = '';
while (!feof($fp)){

$text .= fgets($fp, 1024);
}

fclose($fp);

$text = preg_replace("`^[\\x00-\\x7e]+(\r)?\n(\r)?\n`", "", $text);

$fp = @fopen ($save_file, "w");
@fwrite($fp, $text);//유일한 파일이므로 파일에 락을 걸지 않는다.
@fclose($fp);
@chmod ($save_file, 0777);

  $size = @getimagesize($save_file);
  @unlink($save_file);

  return $size;
}



//플록님 이미지
$url = "http://phosay.com/g4/data/file/demo_gallery/3660583642_49cb97ad_wo%2B091.jpg";//읽어올 url
$referer = "http://phosay.com/g4/";//속일 리퍼러, 넣지 않아도 됨
$save_dir = "./temp";
//임시저장디렉토리 지정, 상대경로 or 절대경로
//퍼미션은 웹서버가 읽을 수 있도록, 일반적으로 777
//맨마지막에 / 를 붙이지 않는다.


$size = Ygetimagesize($url, $save_dir, $referer);

echo "<br>이미지 정보 : <br>";
foreach($size as $key => $value){

  echo "$key $value <br>";
}

echo "<br>원본이미지 <img src='" . $url . "' border=0>";

?>


샘플 url : http://82da.com/Ybbs/sample/Ygetimagesize.php

이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 바람부는데로

, , ,
Response
No Trackback , No Comment
RSS :
http://apmusers.com/tt/dbckdghk/rss/response/12

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

« Previous : 1 : ... 89 : 90 : 91 : 92 : 93 : 94 : 95 : Next »

블로그 이미지

유창화의 블로그(사진은 10년전 모습)

- 바람부는데로

Archives

Calendar

«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

이올린 추천글

Site Stats

Total hits:
235019
Today:
60
Yesterday:
87