목록Develop/PHP (29)
Daniel's Knowledge Storage
mb_strimwidth($data['subject'], '0', '90', '...', 'utf-8'); utf-8일 경우가 거의 정상적이다.
Warning: main(): php_network_getaddresses php에서 fopen 함수 사용시 로컬의 파일은 잘 열리는데 외부 url파일이 열리지 않을 경우에는 다음을 확인해 본다. 1.php.ini 에서 url을 파일로 간주하여 여는 부분에 on 이 되어 있는지. 2.host 파일의 ip와 httpd.conf 파일의 servername부분의 ip가 동일한지.
ww.abc.com abc.com 에서 동일하게 풀리지 않도록 세션 시작 선언 부 전에 abc.com 부분 해당 도메인으로 수정. ini_set("session.cookie_domain", ".abc.com"); //파랑색 점이 중요..
파일 업로드 관련소스를 보면 대부분 복잡합니다. 고로 귀찮아서 책안보시고 공부하는분들은 접근하기가 어렵는데, 사실 한번 해보면 쉽습니다. 아래는 기본적인 업로드에 관련된 소스입니다. 폼입니다. view plaincopy to clipboardprint? 이렇게 보내면 이렇게 변수를 받습니다. view plaincopy to clipboardprint? $_FILES['userfile']['userfile']['name'] = "업로드한파일명.jpg"; $_FILES['userfile']['userfile']['type'] = "image/jpeg"; // 파일의 포맷 $_FILES['userfile']['userfile']['tmp_name'] = "/tmp/phpKAI9e1"; // 파일이 서버의 임시..
실제는 더 많은 내용들이 있지만 해당 제목만 퍼옵니다. 원문은 아래 링크에서!! http://cl.dgtalx.net/142 1. 가장 중요한것은 기초 알고리즘과 로직들이다. 2. MVC는 가장 최악의 경우를 불러일으킨다. 3. 변수의 선언에는 신경을 써야한다. 4. 네임 쿼테이션은 최대한 ' 로 통일 5. 펑션도 메모리다. 6. DB의 Select또한 부하다. 7. PHP를 신뢰하지마라! 8. 캐시를 적당히 이용하라 9. 프로파일링을 위해 시간을 아끼지 말라 9. 서버의 파인튠을 위해 많은 시간을 할당하라 10. 이렇게 하면 안된다! 대표적인 배드코딩
DB의 내용을 PHP로 파싱을 해서 xml파일로 저장시키는 방법이 있습니다. 예제로 DB내의 내용이 아래와 같다면 +----------+------+------------+ | searchW | cnt | date | +----------+------+------------+ | 싸이월드 | 1784 | 2006-11-27 | | 야후 | 709 | 2006-11-27 | | 옥션 | 643 | 2006-11-27 | +----------+------+------------+ 파싱시키는 예제소스는 아래와 같습니다. 그렇다면 만들어진 결과물 test.xml파일은 아래와 같은 내용의 xml파일이 될겁니다. test.xml:: 싸이월드 1784 2006-11-27 야후 709 2006-11-27 옥션 643 ..
파일 업로드시 그리고 다시 불러와서 출력시 환위를 알아서 kb,mb,gb,tb까지 변경해 주는 함수다. function getFileSize($size, $float = 0) { $unit = array('Byte', 'KB', 'MB', 'GB', 'TB'); for ($L = 0; intval($size / 1024) > 0; $L++, $size/= 1024); if (($float === 0) && (intval($size) != $size)) $float = 2; return number_format($size, $float, '.', ',') .' '. $unit[$L]; } $up_file_size = getFileSize($up_file_size);
sql 문에서 order by rand() limit 1 하면 한개를 랜덤하게 출력함. 리미트값을 3개를 주면 3개를 뽑아 오겠죠? 그리고 mktime(); 함수를 사용해서 시간을 지정한 후, sql문 조건문에 BETWEEN을 주면 해당 기간내에서의 3개 랜덤으로 뽑아 오겠죠? 이를테면 한주간의 새로운 글 3개 또는 인기글 3개 뽑아 올 때 쓸 수 있겠네요.
첫번째 방법. 두번째 방법.(Mysql에서 바로 잘라서 가져옴) select idx, concat(left(subject, 20), \'\\0\') as subject, time from board where class=\'issue\' 단 mysql 버젼이 좀 되어야 합니다. 버젼은 확인은 못해 봤지만...^^
// 사용시 모든 데이터가 날아가므로 주의를 요함(Recursive) function LIB_removeAllData( $URL ) { if( is_dir( $URL ) ) { if( $dh = opendir( $URL ) ) { while( ( $file = readdir( $dh ) ) !== false ) { if( $file == '.' || $file == ".." ) continue; if( filetype( $URL.$file ) == "dir" ) LIB_removeAllData( $URL.$file.'/' ); else @unlink( $URL.$file ); // 파일 삭제 } @rmdir( $URL ); // 폴더 삭제 closedir( $dh ); } } } 사용시 $dir = "/..
[출처] 패스워드 자동생성하기 |작성자 정연아빠
if(!$mode) { include "connect.db"; set_time_limit(0); // 메일 발송 시간이 오래되는 경우 타임에러가 나지 않도록 php실행시간을 연장해준다. //시작번호와 끝나는 번호는 메일링 테이블에서 no값입니다. 만약 1만명이 있으면 보통 1번부터 시작해서 3000번 보내고 다음번에는 3001번부터 보내시면 됩니다. if(!$end_no){ $end_no = $start_no;} if($start_no) $str = "where no>=$start_no and no // 모두에게 보내는 모드인 경우에는 if($to == "all") { $result = mysql_query("select no, email from nan $str order by no"); } $coun..
경매 남은시간 계산 소스입니다. $StartTime=$Auction[Start_time]; //시작시간을 받아옵니다(종료시간 받아와도 좋습니다.) switch ( $State ) (경매의 진행상태를 보여주는 값을 받아와서 값대로 뿌려줍니다.그려) { case 2: $StateName = '낙찰'; break; case 3: $StateName = '유찰'; break; case 1: $StateName = '경매진행중'; } $StartT = explode(' ',$StartTime); /*1 $StartT2 = explode('-',$StartT[0]); /*2 $StartT1 = explode(':',$StartT[1]); /*3 //이 소스를 이따우로 만든 이유는... DB에 날짜(시작날짜 오알 종..
function han() { global $title; $han_num=strlen($title); if ($han_num>50) { $title=substr($title,0,50); $title=$title."·······"; } $title=str_replace("?·······","·······",$title); return; } // end func
Mysql과 php에서 가장 많이 활용되는 기법은 MD5() 함수를 이용한 암호화 기법이다. mysql의 sql언어에서도 MD5()함수가 지원되고, php 언어에서도 MD5()함수가 지원되기때문에 양쪽에서 암호화를 할 수 있다. php의 MD5()함수를 사용해서 암호화 하는 구문 $sql="insert into user (userid,password,name,email) values('$userid', ".MD5('$password').", '$name', '$email') "; 회원의 비번이나 게시판의 글암호에 모두 이용하면 좋다.
★ 폴더 구성 bottom 디자인 하부 HTML 파일 모음 func 일반 함수 모음 images 전체 이미지 index board poll login shop inc DB연결 or 상수 설정 파일 mysqls MySQL 함수 모음 pgm board qna Q&A게시판 메인 프로그램 news 공지사항 메인 프로그램 poll 온라인 폴 login 로그인 shop 쇼핑몰 scripts 자바스크립트 style CSS파일 top 디자인 상부 HTML모음 ★ Q&A 게시판 파일 & 폴더 bottom qna_bottom.php func qna_functions.php images index board poll login shop inc qna.inc.php qna.txt.php mysqls qna_mysqls.php..
header( "Content-type: application/vnd.ms-excel" ); header( "Content-Disposition: attachment; filename=xls-filename" ); header( "Content-Description: PHP4 Generated Data" ); Excel파일 헤더선언부분이다. 이로써 2진 텍스트 데이터로서 Excel파일 컨버팅, 그리고 Explorer오픈이 가능케 된다.
php 에는 mail이라는 함수가 있는데 window에서만 php.ini 안에서 smtp서버를 설정할수가 있다. 따라는 os가 window가 아닐 경우는 아래 함수를 직접 만들어서 이용한다. 포퍼먼스는 얼마나 좋은진 모르나... 다른 smtp 서버를 꼭 이용하여야 할 경우에는 유용하게 쓸 수 있다. DATA 전까지는 꼭 fgets 을 해야한다.
-------------------------------------------- -------------------------------------------- 로그아웃하고 어떤페이지로 보낼까나.. 여튼 고고!!
popular 테이블에 다음과 같이 데이타가 담겨 있습니다. 테이블을 만드는 방법부터는 쿼리문 답변을 한 후에 추가로 하겠습니다. 지금 예제에서는 IP 는 여기서 필요가 없어서 NULL로 생략했습니다. mysql> SELECT * FROM popular; +-------+--------------+------------+-------+ | pp_id | pp_word | pp_date | pp_ip | +-------+--------------+------------+-------+ | 1 | keyword | 2008-10-29 | NULL | | 2 | keyword | 2008-10-29 | NULL | | 3 | coreanpro | 2008-10-28 | NULL | | 4 | keyword |..