Archive

Archive for the ‘PHP’ Category

PHP 따옴표

December 5th, 2005 admin No comments

echo(”안녕하세요.”);
echo(’안녕하세요.’);
echo “안녕하세요.”;
echo ‘안녕하세요.’;

모두 PHP에서 지원되는 문법입니다. 어떻게 사용하셔도 상관이 없답니다.

참고로 큰따옴표(”) 와 작은 따옴표(’) 는 차이가 좀 있습니다.
큰 따옴표로 둘러싸여진 내용안에 변수가 있을 경우 변수가 가지고 있는 값으로 치완되서 출력이 됩니다. 하지만 작은 따옴표로 둘러싸여져 있을경우는 모든 것을 문자로 생각하고 그냥 출력한답니다. 아래 예제를 보세요.

$a = “방갑습니다.”;

echo “안녕하세요. $a”; // 출력 : 안녕하세요. 방갑습니다.
echo ‘안녕하세요. $a’; // 출력 : 안녕하세요. $a

Categories: PHP Tags:

웹페이지 -> 엑셀 파일 형식으로 만들기

November 27th, 2005 admin No comments

웹페이지 상의 문서를 엑셀이나, 파워포인트, 위드 문서로 변환해 줘야 되는 경우 아래와 같은 방법을 쓰면 상당히 쉽게 해결이 되지요.

만약에 엑셀 파일로 변환을 하고 싶으시면
header(”Content-Type: application/vnd.ms-excel”);
?>
저 부분을 태그 앞에 넣으면 끝나지요.
저 페이지가 호출이 되면 오피스가 깔려있는 사용자들은 저장할것인지 그냥 열것인지를 물어보구여, 안깔려 있는 사용자들은 파일을 다운받을수 있게 되지요.

그럼 워드 파일은
header(”Content-Type: application/msword”);
?>

파워포인트 역시 같은 방법으로
header(”Content-Type: application/vnd.ms-powerpoint”);
?>

그럼 마지막으로 ASP에서는
<%
Response.Buffer = TRUE
Response.ContentType = “application/vnd.ms-excel”
%>

나머지는 응용이 가능하시겠지여?
알고보면 상당히 쉬운방법인데 저 방법을 몰라서 고민하시는 분들이 꽤 되시더라구요.

그럼 도움이 되시길. ^^

다음은 header 내용을 변경해서 excel로 바꾸어 주는 구문입니다.

* excel.php

header(”Content-type: application/vnd.ms-excel”);
header(”Content-Disposition: attachment; filename=test.xls”);
header(”Content-Description: PHP4 Generated Data”);

테스트1 테스트1 테스트1 테스트1
테스트2 테스트2 테스트2 테스트2

실행시켜보세요. 어떻게 되죠? test.xls 이름으로 excel 화일이 다운로드 되죠.
혹 DB내용을 excel형태로 출력해야될 때 유용할거 같습니다.

# JSP쪽 코드
<%@ page contentType=”application/vnd.ms-excel;charset=euc-kr” %>
<%
response.setHeader(”Content-Disposition”, “attachment; filename=저장될파일명.xls”);
response.setHeader(”Content-Description”, “JSP Generated Data”);
%>
이하 HTML 태그…

웹 브라우저에서 본 모습과 엑셀 문서의 모습을 보면 다음과 같을 것이다.

Calls for Accounting

Click View to go to the call you would like to view.

Total records returned:3

View Open Date Call Status First Name Last Name Extension Assigned To Summary
View 04/19/00 9497 OPEN Dan Dajarnatt 3405 GMARTINEZ pls schedule appt to discuss hard/soft needs
View 05/04/00 9607 OPEN Dan Dajarnatt 3405 GMARTINEZ Upgrade Outlook 98 to 2000?
View 07/17/00 10070 OPEN Dan Dajarnatt 3405 TOM New Hires and Terminations

Categories: PHP Tags:

그림가져오기

November 25th, 2005 admin No comments

컴에서 그림가져오기는 불가능하겠군… ㅜㅜ
http에서만 가능..
1. 이미지 부분 적출.
2. 읽기
3. 쓰기.
4. 링크수정.
끝.

Categories: PHP Tags:

register_globals = OFF

March 29th, 2005 admin No comments

이거 또 까먹었네….
$HTTP_POST_FILES[imgfile0]!=”"

Categories: PHP Tags:

주민번호 유효성검사

February 22nd, 2005 admin No comments

PHP
// 주민등록번호 유효성 검사: 올바른 경우 true, 틀린 경우 false 반환
function resnoCheck($resno1, $resno2) {
$resno = $resno1 . $resno2;

// 형태 검사: 총 13자리의 숫자, 7번째는 1..4의 값을 가짐
if (!ereg(’^[[:digit:]]{6}[1-4][[:digit:]]{6}$’, $resno))
return false;

// 날짜 유효성 검사
$birthYear = (’2′ >= $resno[6]) ? ‘19′ : ‘20′;
$birthYear += substr($resno, 0, 2);
$birthMonth = substr($resno, 2, 2);
$birthDate = substr($resno, 4, 2);
if (!checkdate($birthMonth, $birthDate, $birthYear))
return false;

// Checksum 코드의 유효성 검사
for ($i = 0; $i < 13; $i++) $buf[$i] = (int) $resno[$i];
$multipliers = array(2,3,4,5,6,7,8,9,2,3,4,5);
for ($i = $sum = 0; $i < 12; $i++) $sum += ($buf[$i] *= $multipliers[$i]);
if ((11 - ($sum % 11)) % 10 != $buf[12])
return false;

// 모든 검사를 통과하면 유효한 주민등록번호임
return true;
}
?>

JAVASCRIPT

function Q_is_valid_SSN_Kr(strng) {
re = /^[0-9]{6}-?[0-9]{7}$/;
if (!re.test(strng)) return false;
strng_new = strng.replace(”-”,”");
var year = parseInt(strng_new.substr(0,2),10);
var month = parseInt(strng_new.substr(2,2),10);
var day = parseInt(strng_new.substr(4,2),10);
var gender = parseInt(strng_new.charAt(6) ,10);
if ( month<1 || month>12 || gender<1 || gender>4 ) return false;

var arrayOfLasts = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if(month==2) {
year += (gender<3 ? 1900 : 2000);
if(Q_is_leap_year(year)) arrayOfLasts[1] = 29;
}
if(day<1 || day>arrayOfLasts[month-1]) return false;

var tmp = 0;
for(var n=0; n<12; n++) tmp += (n%8+2) * parseInt(strng_new.charAt(n),10);
tmp = (11-(tmp%11))%10;
if (tmp != strng_new.charAt(12)) return false;
return true;
}

Categories: PHP Tags:

http_build_query

February 3rd, 2005 admin No comments

http_build_query


(PHP 5)

http_build_query — Generate URL-encoded query string

Description

string http_build_query ( array formdata [, string numeric_prefix] ) Read more…

Categories: PHP Tags:

정규식

February 1st, 2005 admin No comments

정규식 UserPreferences

제목 도움말 찾기 주제분류 바뀐글
——————————————————————————–
일반인 수준의 정의 : 문자열을 검색하기 위해 사용되는 일종의 언어
예컨데, “이상한나라의앨리스?”라는 동화의 내용이 모두 수록된 텍스트 화일이 있다고 할 때, 거기서 walking, walked, walks 등의 walk로 시작하는 모든 단어를 찾고 싶다고 하자. 이런 자신이 찾고 싶은 대상을 나타내는데에 정규식이 사용될 수 있다. 여기서 walk로 시작하는 모든 단어는 walk[a-z]*가 된다. 괄호안의 a-z는 알파벳 a에서 z 사이의 임의의 문자가 올 수 있음을 나타내고 바로 뒤의 별표(*)는 그런 임의의 알파벳이 “임의의 개수”(0번을 포함)만큼 따라올 수 있음을 말한다. 이 검색식을 사용하면 이상한나라의앨리스?에서 walk로 시작하는 모든 단어를 찾아낼 수 있다.
Read more…

Categories: PHP Tags:

PHP 속도 최적화

January 24th, 2005 admin No comments

★ mysql 총 게시물 수 세기
<?php $numresults = mysql_query(”select code from $board”); $numrows = mysql_num_rows($numresults); //2초 이상 …게시물 10만개 ?> VS <?php $numresults = mysql_query(”select count(code) as code from $board”); $row_num = mysql_fetch_array($numresults); $numrows=$row_num[code]; // 0.2 …게시물 10만개 ?> 아래것이 훠얼씬 빠름다.. 도대체 mysql_num_row() 는 왜 만들어 놓은 것일까용???

★ mysql_fetch_row > mysql_fetch_array >>> mysql_result 입니다.

row 가 array 보다 약간 빠르고, result 보다는 훠얼씬 빠름당 ^^ row 는 불편한게 숫자로 칼럼을 불러와서 불편합니다. array 가 약간 느리지만, 문자 칼럼을 불러 올 수 있으니 array 쓰는 것도 양호 ^^ 아직도 mysql_result() 를 사용하시나요?

★print , echo ,printf 함수 속도 비교
HTML 출력 >> echo > print >> printf print 와 printf 함수는 복잡한곳에 적격이고, 약간 느리다. echo 는 단순한곳에 적격이고…빠르다. printf 는 형식화된 출력을 해주므로 그래도 좋죠 ^^

★ 인라인 Read more…

Categories: PHP Tags:

문자열 내의 HTML 태그를 모두 없애는 방법

January 18th, 2005 admin No comments

문자열 내의 HTML 태그를 모두 없애는 방법

출처 : http://korea.internet.com/etc/talkback/talkback_content.asp?id=11447&cid=189&nid=28430

<?
function stripHTML($str){
return eregi_replace(”[<][^>]*[>]”, “”, $str);
}
이미지는 살려놓으려면
function stripHTML($str){
return eregi_replace(”[<][^img][^>]*[>]”, “”, $str);
}
?>

Categories: PHP Tags:

php.ini register_globals = OFF

November 26th, 2004 admin No comments

만약 php.ini 파일에서 register_globals 부분이 Off로 설정되었을때는
프로그램짜는 방법이 달라지겠죠

$_POST[] , $_GET[] , $_REQUEST[] 를 사용합니다.
예전의 PHP버전이면 $HTTP_POST_VAR[] , $HTTP_GET_VAR[] 을 사용해야 합니다.
넘어온 변수는 그냥 $a 로 처리하는것이 아닌 $_POST[a] 또는 $_GET[a] 로 처리하여만 하며 POST와 GET방식에 따라 다르며 $_REQUEST[]는 두개다 사용이 가능합니다.
아래와 같이 수정하셔야 합니다.

if ( $_POST[a] == 1 ) echo “1″;
else echo “2″;

위와 같이 하여되 되고 extract() 함수를 사용하여 처리할수도 있습니다.

GET 또는 POST 뿐만 아니라 쿠키는 $_COOIE[],세션은 $_SESSION[]과 파일업로드 처리등도 예전방식으로는 안됩니다.

자세한 사항은 http://kr2.php.net/manual/kr/security.registerglobals.php 를 참조하세요..

테스트해보기
333.php
<form action=”555.php” method=”post”>
<input type=text name=thename maxlength=10 size=10>
<input type=submit value=올리기>
</form>

555.php
<? echo $_REQUEST[”thename”]; ?>

Categories: PHP Tags: