본문 바로가기

php

[PHP] 다운로드 구현시 파일이름에 [1] 등이 자동으로 붙어버리는 문제 게시판같은곳에 파일을 첨부할때 파일이름에 .(쩜)이 두개 이상 붙으면 다운받을때 브라우저에서 파일이름에 [1]같은것을 붙혀버립니다. (예를들면 xxx.tar.z같은 파일을 다운받을때 xxx[1].tar.z 로 바뀌어버림) 이러한 문제를 해결하고 싶으시면 아래 간단한 팁을 이용하시면 됩니다. if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")){ $파일이름 = preg_replace('/\./', '%2e', $서버에저장된파일이름, substr_count($서버에저장된파일이름, '.') - 1); } 아래는 파일 다운로드 페이지 구현시 실제 사용예제입니다. /********************************** 예제 **************************.. 더보기
[PHP] DB 내용 CSV 포멧 파일로 저장하기 오늘은 DB 테이블의 내용을 읽어서 화일로 저장하는 방법을 알아 보겠습니다. 테이블의 내용을 화면에만 뿌려주면 나중에 실제 데이타를 사용해야 할 일이 있을때 많이 불편하거든요 그래서 만들어 낸것이 CSV(Comma Separated Values) 포맷을 이용해 화일로 만들고 이것을 받아서 EXCEL 등에서 사용하는 것 입니다. CSV 포맷은 각각의 필드가 콤마(,)로 분리된 일반 텍스트입니다. 우선 이름,국어,영어,산수,음악의 필드를 가진 점수 테이블을 만듭니다. create table score( name char(10), korean int , english int , math int , music int ); insert into score values('진호',91,95,88,72); insert.. 더보기
[PHP] Whois 조회 코드 ?>">Find an available domain name from Network Solutions: //This function was found at : http://www.phpwizard.net/phpTidbits/function whois($domain, $server="www.geektools.com"){ $fp = fsockopen ($server, 43, &$errnr, &$errstr) or die("$errno: $errstr");fputs($fp, "$domain\n");while (!feof($fp))echo fgets($fp, 2048);fclose($fp); }  ?>If (isset ($domain)){echo (whois($domain));}?> 더보기
[PHP] 오픈 포트 확인 $trojans = array ("1" => "(UDP) - Sockets des Troie", "2" => "Death", "15" => "B2", "20" => "Senna Spy FTP server", "21" => "Back Construction, Blade Runner, Cattivik FTP Server, CC Invader, Dark FTP, Doly Trojan, Fore, FreddyK, Invisible FTP, Juggernaut 42, Larva, MotIv FTP, Net Administrator, Ramen, RTB 666, Senna Spy FTP server, The Flu, Traitor 21, WebEx, WinCrash", "22" => "Adore sshd, Shaf.. 더보기
[PHP] 한글 문자열 자르는 함수 function cutStringHan($str, $len) { $tail=""; if(strlen($str)>$len) { for($i=0; $i127) $i++; $str=substr($str,0,$i); $tail=" ... "; } return $str.$tail; } 더보기
자주 사용하는 PHP 함수 1. 날짜 및 시간 관련함수 *time() -용도: 현재 시각을 timestamp값으로 구한다. -방법: time() *date() -용도: 사용자가 지정한 형태로 시간을 표시. 특정시간의 날짜와 요일등을 배열로 리턴한다. -방법: date("표시할 시간의 포맷형태","특정한 timestamp값") *mktime() -용도: 지정된 날짜를 timestamp값으로 변환한다. -방법: mktime(시,분,초,월,일,년) *checkdate() -용도: 날짜와 시간이 올바른 범위 안에 있는지 검사한다. -방법: checkdate(월,일,년) *getdate() -용도: 특정timestamp값으로 시간,요일,날짜정보를 배열로 반환한다. -방법: getdate(timestamp값) 또는 getdate() *get.. 더보기
Whois를 이용해서 접속자가 사용하는 ISP출력(한국통신,하나로,두루넷 등등) //////기관추적/////// $ipa='211.192.197.130'; //ip만 바꾸어 주세요.. 딴건 수정할 필요 없는 듯..하네요..참고로 아이피는 한국통신..유동아이피라 출력이 않 될 수 도 있습니다.. $find = array("연결 ISP명","기 관 명"); $contents = file(" $value) { if(eregi("^".$find[0]."",$value)) { $isp=substr($value,21);} //21 if(eregi("^".$find[1]."",$value)) { $serv=substr($value,16);} //16 } $server=trim($isp.$serv); //통신업체 switch($server){ case "KORNET": $host="한국통신"; b.. 더보기
불량 단어 필터링 ex) $res[subject] => {바보,미워} 1. 등록된 불량단어의 수를 알아온다. $arr = explode(",", $res[subject]); $bad_word_count=0; while(list($key, $val) = each($arr) ) { $bad_word_count++; } 2. 불량단어를 바꾼다. $html_use_temp=$res[subject]; for ($bad_temp=0; $bad_temp 더보기
절대경로 표현하기 // 절대경로 알아내기 global $PHP_SELF; $thisfilename=basename(__FILE__); $temp_filename=realpath(__FILE__); if(!$temp_filename) $temp_filename=__FILE__; $osdir=eregi_replace($thisfilename,"",$temp_filename); unset($temp_filename); $virdir = eregi_replace($thisfilename,"",$PHP_SELF); echo "현재 디렉토리의 절대경로 : ".$osdir." "; echo "현재 디렉토리의 상대 경로 주소 : ".$virdir." "; ?> 먼저 메모장을 꺼내셔셔 위 소스를 그대로 복사해서 붙여넣기 하세요. 그리고 .. 더보기
색을 랜덤하게 뽑아서 출력합니다. 색을 랜덤하게 출력해주는 소스입니다. mt_rand 함수와 rand 함수의 기본적인 역할은 같습니다. mt_rand 함수에는 가비지가 안들어가서 좋다고 하네요^^ 테스트해본결과 rand 함수를 이용하면 유닉스 운영체제 환경에서는 안먹혔습니다. 현재 Leovote 0.2버전에서서 사용중입니다. mt_srand((double)microtime()*1000000); $color_1 = dechex(mt_rand(0,255));//색을 랜덤하게.. 숫자만들기 시작! $color_2 = dechex(mt_rand(0,255)); $color_3 = dechex(mt_rand(0,255)); if(strlen($color_1) == 1) $color_1 = $ctcolor_1 . "0"; if(strlen($col.. 더보기