주간 베스트 월간 베스트 3개월 베스트 베스트 게시물
꽃배달 한국, 중국 전지역배송

여기서 잠깐_ PHP함수얘기^^;

광수 | 2001.10.17 00:07:01 댓글: 0 조회: 703 추천: 6
분류웹 프로그래밍 https://life.moyiza.kr/itstudy/1758799
문자열

number_format

천(1000)자리 단위로 소수점이나 정수에 , 나 . 으로 구분자를 찍어줍니다~

<?
   $num = "1000000";
   echo number_format($num);
?>

을 하게 되면

1,000,000

라고 이쁘게 출력해준답니다~~

...

BiHon 보태기.

뒤에 인자로 다음과 같은 값들이 있습니다.

number_format(출력할값, 소수 이하 자릿수, 소수점을 구분할 문자, 100단위마다 찍어줄 문자)



수학계산

pow

갑자기 어떤 자연수의 제곱값을 어떻게 구할까 생각하다가 레퍼런스 보니 pow() 더군요;;
역시 php는 c랑 비슷하다는 생각을;; ^^

<?
   echo pow(2,4);
?>

이렇게 하면 2의 4승, 즉 16 값을 리턴합니다;;

너무 쉽지만 혹시나 해서~~ ^^


시스템

phpinfo

PHP 설치 후 제일 처음 테스트삼아 한번쯤 실행해보는 함수입니다.

<?
phpinfo();
?>

단순히 위의 경우처럼 명령을 실행하면 PHP와 관련된 여러 정보 화면이
출력되며, 뒤에 인자를 지정해 선택적인 정보 출력도 가능합니다.
뒤에 들어오는 인자로는 아래와 같은 값들이 있습니다.

INFO_GENERAL = 1
INFO_CREDITS = 2
INFO_CONFIGURATION = 4
INFO_MODULES = 8
INFO_ENVIRONMENT = 16
INFO_VARIABLES = 32
INFO_LICENSE = 64
INFO_ALL = 127

기본적으로 지정되어 있는 상수값들입니다. 활용 예는 아래와 같습니다.

<?
phpinfo(INFO_ENVIRONMENT); // or phpinfo(32);
?>

exit

현재 실행되고 있는 스크립트의 실행을 중단시켜버립니다.

어떤 처리결과에 따라서 스크립트 종료할때 많이 씁니다.

에러처리 등을 할때 에러메세지를 출력하고 스크립트를 종료하는 경우등에 자주 쓰입니다.

...

BiHon 보태기.

<?
if (!$name) {
  echo "이름값이 지정되지 않았습니다.";
  exit;
}
echo "<br>Hello!";
?>

이런 프로그램이 있을 경우 $name에 아무런 값이 없다면 이름값이 지정되지 않았습니다.라는 메시지가 출력된 후 종료됩니다. 위에서 만약 exit문을 사용하지 않았다면 그 아래 Hello!도 출력되었겠죠?



화면출력

echo

문자열을 출력할때 사용합니다.

echo("Hello~!"); // Hello~ 문자열 출력
echo "Hello~!"; // 괄호 없어도 문자열 출력

변수에 값이 있을 경우 이 값을 출력해주기도 합니다.

$name = "홍길동";
echo $name; // 홍길동 출력

$name = "임걱정";
echo "그의 이름은 $name 입니다"; // 그의 이름은 임걱정 입니다 출력


print

echo 함수와 동일. 문자열을 출력할때 사용합니다.

print("Hello~!"); // Hello~ 문자열 출력
print "Hello~!"; // 괄호 없어도 문자열 출력

변수에 값이 있을 경우 이 값을 출력해주기도 합니다.

$name = "홍길동";
print $name; // 홍길동 출력

$name = "임걱정";
print "그의 이름은 $name 입니다"; // 그의 이름은 임걱정 입니다 출력


printf

C를 다뤄본 분이라면 많이 보셨을 거에요. 특정한 형식으로 값을 출력할 수 있죠.

먼저 출력 형식부터 알아볼까요?

%b ... 2진수 (integer)
%c ... 문자 (integer)
%d ... 10진수 (integer)
%f ... 부동 소수점 (double)
%o ... 8진수 (integer)
%s ... 문자열 (string)
%x ... 16진수 소문자 (integer)
%X ... 16진수 대문자 (integer)
(ABC순)

<?
printf("%s %d","안녕하세요!",3+7); // 안녕하세요! 10 출력
?>

앞에 자릿수를 붙일 수 있습니다. 화면상으로는 여러 공백도 하나의 공백으로 인식하지만, 소스보기를 하면 그 결과를 알 수 있습니다.

<?
printf("%5d",1); // _____1 출력. 편의상 공백을 _로 표현했어요.
?>

그리고 숫자 앞에 0을 붙이면 모자란 자릿수에 0이 대신 들어갑니다.

<?
printf("%06d",17); // 000017 출력. 카운터 등에서 사용하면 유용하겠죠?
?>


sprintf


printf 함수와 동일하지만 한가지 다른 점은 값을 반환받을 수 있다는 점입니다.

<?
$a = 255;
$b = sprintf("%x",$a);
echo $b; // ff 출력
?>

진수 변환할때 간단히 사용할 수 있겠죠?

<?
$a = 10;
$이진수 = sprintf("%b",$a);
$팔진수 = sprintf("%o",$a);
$십진수 = sprintf("%d",$a);
$십육진수 = sprintf("%x",$a);
?>



파일제어


fopen

파일 또는 URL을 열 경우 사용합니다.

형식은 fopen(파일명, 모드) 입니다.

간단한 예제를 한번 보세요.

<?
$filename = "test.txt";

$fp = fopen($filename, "r");
$data = fread($fp, filesize($filename));
fclose($fp);

echo "파일의 내용 :<br>";
echo $data;
?>

파일명을 지정해 읽기 모드로 열어 파일의 크기만큼 읽어 그 내용을 출력하는
간단한 프로그램입니다.

모드에는 다음과 같은 종류가 있습니다.

'r'  - 읽기전용으로 열립니다; 파일포인터를 파일의 맨 앞에 놓습니다.
'r+' - 읽기 쓰기가 가능합니다; 파일 포인터를 파일의 맨 앞에 놓습니다.
'w'  - 쓰기 전용으로 열립니다; 파일 포인터를 파일의 맨 앞에 놓습니다.
       그리고 파일의 크기를 0으로 만듭니다. 파일이 없으면 만듭니다.
'w+' - 읽기 쓰기가 가능합니다; 파일포인터를 파일의 맨 앞에 놓습니다.
       그리고 파일의 크기를0으로 만듭니다. 파일이 없으면 만듭니다.
'a'  - 쓰기 전용으로 열립니다; 파일 포인터를 파일의 끝에 놓습니다.
       파일이 없으면 만듭니다.
'a+' - 읽기 쓰기가 가능합니다; 파일 포인터를 파일의 끝에 놓습니다.
       파일이 없으면 만듭니다.

참고로 b를 덧붙이면 바이너리 파일을 뜻합니다.


fclose

열려진 파일을 닫을때 사용합니다.

<?
$fp = fopen("test.txt","a");
fclose($fp);
?>

PHP 프로그램이 종료되면 자동으로 닫히지만 사용이 끝난 파일에 대해서는 바로바로
닫아주는 것이 프로그래밍 습관상 좋겠죠?


fseek

파일 포인터의 위치를 옮길때 사용합니다.

1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ

test.txt 파일의 내용이 위와 같다고 했을때 실제 fseek의 쓰임새를 알아보겠습니다.

<?

$filename = "test.txt";

$fp = fopen($filename,"r");
fseek($fp,0); // 파일의 포인터를 가장 처음으로 이동
$number = fread($fp,10); // 10 바이트 읽어옴 (1~0)
fseek($fp,10); // 파일의 포인터를 10번째로 이동
$alpha = fread($fp,26); // 26 바이트 읽어옴 (A~Z)
fclose($fp);

echo "숫자 : $number";
echo "<br>";
echo "영문 : $alpha";
?>

해당 파일을 읽기 모드로 열어 특정 위치로 이동시킨 다음 일부분을 읽어오는
예제입니다. 어려운 거 없죠? ^-^


ftell

파일 포인터를 반환해줍니다.

1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ

test.txt 파일의 내용이 위와 같다고 했을때 실제 ftell의 쓰임새를 알아보겠습니다.

<?

$filename = "test.txt";

$fp = fopen($filename,"r");
fseek($fp,0); // 파일의 포인터를 가장 처음으로 이동
$number = fread($fp,10); // 10 바이트 읽어옴 (1~0)
echo ftell($fp); // 현재 포인터의 위치를 출력합니다.
fclose($fp);

?>

fseek() 함수를 이용해 포인터의 위치를 0번째로 옮기고, fread() 함수를 이용해
파일의 내용을 10바이트 읽어온 후, 현재 파일 포인터의 위치를 출력하는 예제인데
결과값은 10이 나옵니다. fread() 함수에 의해 읽혀진 만큼 포인터가 뒤로 이동하기
때문이거든요. ^^;


rewind

파일 포인터를 처음 위치로 옮깁니다.

1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ

test.txt 파일의 내용이 위와 같다고 했을때 실제 rewind의 쓰임새를 알아보겠습니다.

<?

$filename = "test.txt";

$fp = fopen($filename,"r");
rewind($fp); // 파일 포인터를 처음으로 이동합니다
$number = fread($fp,10); // 10 바이트 읽어옴 (1~0)
fclose($fp);

?>

다른 표현 방법은 이미 fseek() 함수에서 다룬 것과 같이 fseek($fp,0)처럼 쓸 수
있습니다.


fread

파일로부터 지정된 길이만큼 내용을 읽어들입니다.

<?
$filename = "test.txt"; // 파일명 지정

$fp = fopen($filename, "r"); // 파일을 읽기 모드로 오픈
$data = fread($fp, filesize($filename)); // 파일의 크기만큼 읽어들임
fclose($fp); // 파일 닫기

echo "파일의 내용 :<br>";
echo $data;
?>

fopen() 함수에서 다룬 예제입니다. filesize() 함수를 이용해 파일의 크기만큼
내용을 읽은 것이죠.


fwrite

파일 포인터에 값을 기록할때 사용합니다.

<?
$filename = "test.txt"; // 파일명 지정

$fp = fopen($filename, "w"); // 파일을 쓰기 모드로 오픈
fwrite($fp,"홍길동",6); // 홍길동 이름을 파일에 기록
fclose($fp); // 파일 닫기
?>

뒤에 길이를 사용했는데 생략해도 가능합니다. 길이를 지정하지 않으면 지정된 값의
길이만큼 기록하게 됩니다. 또한 기록될 값보다 길이가 작을 경우 해당 길이만큼만
기록되게 됩니다.

fwrite($fp,"aaaaa",3); 이런 식으로 사용했을 경우 aaa만 기록됩니다. ^^


file_exists

어떤 파일이 존재하는 지에 대해서 검사할수 있는 함수입니다.

<?
   if(file_exists("./data.txt") echo "data.txt 파일이 존재합니다";
   else echo "data.txt 파일이 존재하지 않습니다";
?>

어떤 파일을 생성해야 할때 이미 존재하는 지에 대해서 쉽게 알아낼수 있습니다~ ^^




* 전설님에 의해서 게시물 이동되었습니다 (2004-05-30 17:07)
* 이동한 이유 :
* 원래의 위치 : 웹 공부 >> 웹 프로그래밍
* 이동후 위치 : 웹 공부 >>

* 전설님에 의해서 게시물 이동되었습니다 (2004-05-30 17:12)
* 이동한 이유 :
* 원래의 위치 : 웹 공부 >>
* 이동후 위치 : 웹 공부 >> 웹 프로그래밍
추천 (6) 선물 (0명)
IP: ♡.149.♡.65
3,006 개의 글이 있습니다.
제목 글쓴이 날짜 조회
관리자
2003-09-20
11910
관리자
2003-09-20
11459
관리자
2003-09-20
20594
지구인
2010-08-27
19386
지구인
2009-09-07
13707
SOLIDH
2010-01-29
15664
엔죠라이프
2004-10-07
16754
광수
2001-10-17
787
광수
2001-10-17
703
광수
2001-10-16
825
광수
2001-10-16
782
광수
2001-10-16
599
광수
2001-10-16
975
광수
2001-10-16
886
광수
2001-10-16
930
광수
2001-10-16
953
광수
2001-10-16
1144
광수
2001-10-16
1736
광수
2001-10-16
482
광수
2001-10-16
676
광수
2001-10-16
576
광수
2001-10-16
545
광수
2001-10-16
486
광수
2001-10-16
389
광수
2001-10-16
1603
광수
2001-10-16
1209
광수
2001-10-16
543
광수
2001-10-16
827
모이자 모바일