[js부분]
String.prototype.trim = function(){

	return this.replace(/(^\s*)|(\s*$)/gi, "");

}

[사용법]
aa = '    앞공백뒷공백    ';

document.write(aa.trim());

[결과]
'앞공백뒷공백'

블로그 이미지

2010년1월어느날..

,
[js부분]
function imgResize(aa)
{
	reSizeW = 700; //가로크기제한
	imgW = aa.width;
	imgH = aa.height;
	if( imgW > reSizeW ){
		aa.width = reSizeW;
		aa.height = (reSizeW/imgW)*imgH;
	}
}

[html부분]
<img src='주소' onLoad='imgResize(this)'>
블로그 이미지

2010년1월어느날..

,

네이버같은경우 타서버에서 네이버이미지를 링크해보면 엑박이 뜨는게 있다. 이건 자기네 서버가 아닌 다른서버에서 자기네 이미지를 긁어가는걸 방지할려고 하는건데.. 트래픽방지겠지...

그런데 fopen()함수로 열어서 가지고 오면 어떻게 될거 같은데 안타깝게도 거의 웹호스팅회사들은 해킹방지를 위해서 fopen()함수를 열어놓고있지않다.

하지만 fsockopen()함수는 거의 호스팅회사에서 허용을 해놓은걸 볼수 있기때문에 이 fsockopen()함수를 이용해서 막혀있는 이미지를 긁어올수 있다.

 
$host = '호스팅주소'; //네이버 같은경우 'www.naver.com'
$service_uri = '/이미지경로및 이미지이름'; //  ex) '/abc/abc.jpg'
$fp = fsockopen ($host, 80, $errno, $errstr, 30);
if (!$fp) {

	echo "$errstr ($errno)<br>\n";

} else {

	fputs ($fp, "GET $service_uri HTTP/1.0\r\n\r\n");

	while (!feof($fp)) {

		$img_source .= fgets($fp, 128);

	}

	fclose ($fp);

}

그럼 $img_source에 이미지의 내용이 모두 저장된다.
그런데 echo $img_source해서 보면 알겠지만 fsockopen()함수는 그 파일의 헤더정보까지 모두 읽어봐서 뿌려버린다. $img_source에서 헤더 정보를 버린채 알갱이만 뽑아와야 나중에 이미지를 볼수 있다.

$img_split   = explode("\r\n\r\n", $html_source.'\r\n\r\n')
이게 헤더와 알갱이를 구분해주는 구문이다. 헤더와 알갱이는 두칸이 띄워져 있다.

이렇게 하면 $img_split[1]에 이미지의 진짜 내용이 들어가게 된다.

이렇게 한다음 header정보에 이미지 파일이라는 정보를 넣어서
뿌려주면 되겠다.

header('Content-Type: image/jpeg;\r\n');


모두를 정리하면
\n";
} else {
		fputs ($fp, "GET $service_uri HTTP/1.0\r\n\r\n");
		while (!feof($fp)) {
			$img_source .= fgets($fp, 128);
		}
	fclose ($fp);
}
$img_split   = explode("\r\n\r\n", $img_source);

echo $img_split[1];
?>
이걸 응용해서 파일이름을 get으로 넘겨 받아 이미지파일로 이용하면 될듯.
블로그 이미지

2010년1월어느날..

,


일단 자바스크립트 부분에 넣어둔다.

<body>
</body>
바디부분엔 div를 하나 만든다.

getData('주소','Div이름')
주소부분으로 값을 넘겨준다. (ex. 'aaa.php?n=3&b=99')
이렇게 처리된 값은 'Div이름'안에 innerHTML로 들어가게 된다.
사이트이동없이 하나의 사이트에서 동적인 행위를 할수있는것이다.
참고로 리턴되는 값은, 처리되는 주소(ex. aaa.php?n=3&b=99)의 소스가 몽땅 와버린다.
따라서 원하는 값만 얻고자할땐 쓸데없이 <html>같은 태그는 처리되는 파일(aaa.php)에 넣지않는다.
블로그 이미지

2010년1월어느날..

,

[Oracle] 엽기적인 sql

업무 2007. 9. 6. 22:25
SELECT BB.seoul_CD,
       COUNT( DECODE(AA.S_AVG, '1', 1, NULL) ) G_1,
       COUNT( DECODE(AA.S_AVG, '2', 1, NULL) ) G_2,
       COUNT( DECODE(AA.S_AVG, '3', 1, NULL) ) G_3,
       COUNT( DECODE(AA.S_AVG, '4', 1, NULL) ) G_4,
       COUNT( DECODE(AA.S_AVG, '5', 1, NULL) ) G_5,
       COUNT( DECODE(AA.S_AVG, '6', 1, NULL) ) G_6,
       COUNT( DECODE(AA.S_AVG, '7', 1, NULL) ) G_7,
       COUNT( DECODE(AA.S_AVG, '8', 1, NULL) ) G_8,
       COUNT( DECODE(AA.S_AVG, '9', 1, NULL) ) G_9
  FROM (SELECT *
          FROM seoul 
          where seoul_year = '2007'
   and seoul_div = '20'
   and seoul_da = '21'
   and seoul_qe is not null) BB,
(
select seoul_da
       ROUND( (decode(sign(merong1 - 4), -1, 1, 0, 1,
            decode(sign(merong1 - 11), -1, 2, 0, 2,
             decode(sign(merong1 - 23), -1, 3, 0, 3,
              decode(sign(merong1 - 40), -1, 4, 0, 4,
               decode(sign(merong1 - 60), -1, 5, 0, 5,
                decode(sign(merong1 - 77), -1, 6, 0, 6,
                 decode(sign(merong1 - 89), -1, 7, 0, 7,
                  decode(sign(merong1 - 96), -1, 8, 0, 8,
                   decode(sign(merong1 - 100), -1, 9, 0, 9,0)))))))))+
            decode(sign(merong2 - 4), -1, 1, 0, 1,
             decode(sign(merong2 - 11), -1, 2, 0, 2,
              decode(sign(merong2 - 23), -1, 3, 0, 3,
               decode(sign(merong2 - 40), -1, 4, 0, 4,
                decode(sign(merong2 - 60), -1, 5, 0, 5,
                 decode(sign(merong2 - 77), -1, 6, 0, 6,
                  decode(sign(merong2 - 89), -1, 7, 0, 7,
                   decode(sign(merong2 - 96), -1, 8, 0, 8,
                    decode(sign(merong2 - 100), -1, 9, 0, 9,0)))))))))+
             decode(sign(merong3 - 4), -1, 1, 0, 1,
            decode(sign(merong3 - 11), -1, 2, 0, 2,
             decode(sign(merong3 - 23), -1, 3, 0, 3,
              decode(sign(merong3 - 40), -1, 4, 0, 4,
               decode(sign(merong3 - 60), -1, 5, 0, 5,
                decode(sign(merong3 - 77), -1, 6, 0, 6,
                 decode(sign(merong3 - 89), -1, 7, 0, 7,
                  decode(sign(merong3 - 96), -1, 8, 0, 8,
                   decode(sign(merong3 - 100), -1, 9, 0, 9,0)))))))))+
            decode(sign(merong4 - 4), -1, 1, 0, 1,
             decode(sign(merong4 - 11), -1, 2, 0, 2,
              decode(sign(merong4 - 23), -1, 3, 0, 3,
               decode(sign(merong4 - 40), -1, 4, 0, 4,
                decode(sign(merong4 - 60), -1, 5, 0, 5,
                 decode(sign(merong4 - 77), -1, 6, 0, 6,
                  decode(sign(merong4 - 89), -1, 7, 0, 7,
                   decode(sign(merong4 - 96), -1, 8, 0, 8,
                    decode(sign(merong4 - 100), -1, 9, 0, 9,0)))))))))+
            decode(sign(merong5 - 4), -1, 1, 0, 1,
            decode(sign(merong5 - 11), -1, 2, 0, 2,
             decode(sign(merong5 - 23), -1, 3, 0, 3,
              decode(sign(merong5 - 40), -1, 4, 0, 4,
               decode(sign(merong5 - 60), -1, 5, 0, 5,
                decode(sign(merong5 - 77), -1, 6, 0, 6,
                 decode(sign(merong5 - 89), -1, 7, 0, 7,
                  decode(sign(merong5 - 96), -1, 8, 0, 8,
                   decode(sign(merong5 - 100), -1, 9, 0, 9,0)))))))))+
            decode(sign(puhahaha1 - 4), -1, 1, 0, 1,
             decode(sign(puhahaha1 - 11), -1, 2, 0, 2,
              decode(sign(puhahaha1 - 23), -1, 3, 0, 3,
               decode(sign(puhahaha1 - 40), -1, 4, 0, 4,
                decode(sign(puhahaha1 - 60), -1, 5, 0, 5,
                 decode(sign(puhahaha1 - 77), -1, 6, 0, 6,
                  decode(sign(puhahaha1 - 89), -1, 7, 0, 7,
                   decode(sign(puhahaha1 - 96), -1, 8, 0, 8,
                    decode(sign(puhahaha1 - 100), -1, 9, 0, 9,0)))))))))+
            decode(sign(puhahaha2 - 4), -1, 1, 0, 1,
            decode(sign(puhahaha2 - 11), -1, 2, 0, 2,
             decode(sign(puhahaha2 - 23), -1, 3, 0, 3,
              decode(sign(puhahaha2 - 40), -1, 4, 0, 4,
               decode(sign(puhahaha2 - 60), -1, 5, 0, 5,
                decode(sign(puhahaha2 - 77), -1, 6, 0, 6,
                 decode(sign(puhahaha2 - 89), -1, 7, 0, 7,
                  decode(sign(puhahaha2 - 96), -1, 8, 0, 8,
                   decode(sign(puhahaha2 - 100), -1, 9, 0, 9,0)))))))))+
            decode(sign(puhahaha3 - 4), -1, 1, 0, 1,
             decode(sign(puhahaha3 - 11), -1, 2, 0, 2,
              decode(sign(puhahaha3 - 23), -1, 3, 0, 3,
               decode(sign(puhahaha3 - 40), -1, 4, 0, 4,
                decode(sign(puhahaha3 - 60), -1, 5, 0, 5,
                 decode(sign(puhahaha3 - 77), -1, 6, 0, 6,
                  decode(sign(puhahaha3 - 89), -1, 7, 0, 7,
                   decode(sign(puhahaha3 - 96), -1, 8, 0, 8,
                    decode(sign(puhahaha3 - 100), -1, 9, 0, 9,0)))))))))+
          decode(sign(puhahaha4 - 4), -1, 1, 0, 1,
             decode(sign(puhahaha4 - 11), -1, 2, 0, 2,
              decode(sign(puhahaha4 - 23), -1, 3, 0, 3,
               decode(sign(puhahaha4 - 40), -1, 4, 0, 4,
                decode(sign(puhahaha4 - 60), -1, 5, 0, 5,
                 decode(sign(puhahaha4 - 77), -1, 6, 0, 6,
                  decode(sign(puhahaha4 - 89), -1, 7, 0, 7,
                   decode(sign(puhahaha4 - 96), -1, 8, 0, 8,
                    decode(sign(puhahaha4 - 100), -1, 9, 0, 9, 0))))))))) )/9  ) S_AVG
  from seoul
 where seoul_year = '2007'
   and seoul_div = '20'
   and seoul0_da = '21'
   and seoul_qe is not null
) AA
WHERE AA.seoul_qe = BB.seoul_qe
GROUP BY BB.seoul_cd;

실제 오늘 사용한 쿼리.
정말 이게 뭐냐..
(필드명은 실제명이 아니라 바꾼것임)
블로그 이미지

2010년1월어느날..

,