이제 복잡하게  세팅할 필요가 없다. 걍  받아서 설치만 하면 끝!

http://php.iis.net/ 로 접속 인스톨 한다.

image

 

image

 

image

 

설치되었는지 확인

image

 

image

 

PHP가 등록되어져있는지 확인해본다

image

 

 

상태확인

image

 

 

.

image

session_start 최상단에 했음에도 불구 하고 계속 아래와같은  메세지가 나왔따

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent

 

바꾼거라곤 EUC-KR 형식에서 UTF-8로 바꾼거

근데..

서명있는 UTF-8 로 하니깐 오류 ㅡ_ㅡ;

image

아래는 잘됨 미소

image

참고하시길

'PHP' 카테고리의 다른 글

초간단 IIS에 PHP 구성하기  (0) 2013.03.15
iconv 를 이용한 인코딩변환 하기  (0) 2010.02.01
[ob_get_contents] 출력버퍼를 이용해서 버퍼의 내용가져오기  (0) 2010.01.29
나의 PHP 유틸클래스  (0) 2010.01.08
PHP 초보들을 위한 초간단 TIP  (0) 2010.01.08
문자열함수  (0) 2009.12.15
[PHP] 파일관련 함수  (0) 2009.12.15
[PHP]기본문법  (0) 2009.12.15
[FUNCTION] 자주쓰는 함수  (0) 2009.12.15
[MYSQL]간단한 사용법  (0) 2009.12.15
(PHP 4 >= 4.0.5, PHP 5) iconv — Convert string to requested character encoding string iconv ( string $in_charset , string $out_charset , string $str )

간단한 사용법

iconv("UTF-8", "EUC-KR", $title)

ob_get_contents

(PHP 4 , PHP 5)

ob_get_contents --  출력 버퍼의 내용을 반환합니다.

설명

string ob_get_contents ( void )

출력 버퍼의 내용을 반환합니다. 출력 버퍼링이 작동하고 있지 않으면 FALSE를 반환합니다.

참고: ob_start(), ob_get_length().

 

bool ob_end_flush ( void )

이 함수는 (존재한다면) 최상위 출력 버퍼의 내용을 전송하고 출력 버퍼를 종료합니다. ob_end_flush()를 호출하면 버퍼의 내용이 비워지기 때문에, 버퍼의 내용으로 다른 작업을 하려면 ob_end_flush()를 호출하기 전에 ob_get_contents()를 호출해야 합니다.

//버퍼시작
ob_start();
?>

여기에 적히는 내용은 다 버퍼에 담기는중입니다. ㅋ

<?
$Content = ob_get_contents(); //버퍼에 있는 컨텐츠 가져오기
ob_end_flush();
?>

<?

//뿌려주기

echo( $Content) ?>

'PHP' 카테고리의 다른 글

초간단 IIS에 PHP 구성하기  (0) 2013.03.15
session_start(); 오류 / UTF-8 변경 후 오류  (0) 2010.10.12
iconv 를 이용한 인코딩변환 하기  (0) 2010.02.01
나의 PHP 유틸클래스  (0) 2010.01.08
PHP 초보들을 위한 초간단 TIP  (0) 2010.01.08
문자열함수  (0) 2009.12.15
[PHP] 파일관련 함수  (0) 2009.12.15
[PHP]기본문법  (0) 2009.12.15
[FUNCTION] 자주쓰는 함수  (0) 2009.12.15
[MYSQL]간단한 사용법  (0) 2009.12.15

<?

//Error Msg
function error_msg( $str  , $url="/"){
  echo "<script>";
  echo "alert('".$str."');";
  echo "location.replace('".$url."');";
  echo "</script>";
  exit;   
}
//j경고창을 띄우고 페이지 이동
function alert($str , $url=""){
  echo "<script>";
  echo "alert( '$str' );";
  if($url ==""){
   echo "history.back(-1);"; 
  }else{
   echo "location.replace( '$url' );";
  }
  echo "</script>";
  exit;  
}
function msg($str ="입력된내용이 없습니다."){
  echo "<script>";
  echo "alert( '$str' );";
  echo "</script>";
}
//페이지 이동
function move_to_url( $url ){
  echo "<script>";  
  echo "location.replace( '$url' );";
  echo "</script>";
  exit;   
}
///업로드 URL 을 가지고 옵니다.
function GetUpLoadURL(){
  return "/home/kojaedoo/html/DownLoadFile/";
}

///문자열 잘라주기
function GetSortString( $str  , $len =30  ){
$var_str ; 

  if( strlen($str)  >= $len ){
  $var_str = substr( $str , 0 , $len ) ."...";
  }else{
  $var_str  = $str;
  }
  return  $var_str ;  
}
//오늘 작성글인지 체크
function todayWrite( $makedate){
  $today_date = date(Y)."-".date(m)."-".date(d);
  $write_date = substr($makedate ,0,10);
  if($today_date == $write_date  ){  
   return "<img src=/notis/img/icon_2.gif  border=0>";
  }else{
   return "";
  }
}

////////////////////////////////////////////////////////////////////////////////////////////////
///                   페이징 관련함수
///////////////////////////////////////////////////////////////////////////////////////////////
///전체레코드 카운터 수를 가지고 옵니다.
function GetTotalRow( $boardName , $sqlQuery ,  $dbconn ){
$result_count=mysql_query("select count(*) from $boardName",$dbconn);
$result_row=mysql_fetch_row($result_count);
$total_row = $result_row[0];
return $total_row;
}

function paging( $page_size , $total_row  , $no ){

echo "<table border=0> <Tr><td  style=\"font-size:8pt\">";
$page_list_size = 10;

if ($total_row <= 0) $total_row = 0; // 총게시물의 값이 없거나 할경우 기본값으로 세팅 
$total_page = floor(($total_row - 1) / $page_size); // 총게시물을 페이지 사이즈로 나눈뒤 내림을 한다.
# 현재 페이지 계산 
$current_page = floor($no/$page_size);
   $start_page = (int)($current_page / $page_list_size) * $page_list_size;   
   $end_page = $start_page + $page_list_size - 1;
   if ($total_page < $end_page) $end_page = $total_page;
   if ($start_page >= $page_list_size) {
    $prev_list = ($start_page - 1)*$page_size;
    echo "<a href=\"$PHP_SELF?no=$prev_list\">◀</a>\n";
   }
   for ($i=$start_page;$i <= $end_page;$i++) {
    $page=$page_size*$i; // 페이지값을 no 값으로 변환.
    $page_num = $i+1; // 실제 페이지 값이 0부터 시작하므로 표시할때는 1을 더해준다. 페이지 0 -> 1
   if ($no!=$page){ //현재 페이지가 아닐 경우만 링크를 표시
    echo "<a href=\"$PHP_SELF?no=$page\">";
   }   
   echo " $page_num "; //페이지를 표시
   if ($no!=$page){
    echo "</a>";
   }
   }
   if($total_page > $end_page)
   {  
    $next_list = ($end_page + 1)* $page_size;
    echo "<a href=$PHP_SELF?no=$next_list>▶</a><p>";
   }

  echo "</table > </Tr></td>";
}

/////////////////////////////////////////////////////////////////////////////////////////////////

//파일관련  메소드

/////////////////////////////////////////////////////////////////////////////////////////////////
function CheckFile(  $_FILES , $file_name ,  $uploaddir  ){

if($_FILES != null){
  $uploadfile = $_FILES[ $file_name ]['name'];
   while ( true ){
    ///CheckFileName() 를 이용하여 그 디렉토리에 파일이 있는지 없는지 검색합니다.
    if( CheckFileName( $uploadfile , $uploaddir ) ){
     //같은이름이 발견되서 파일네임 변경
     $uploadfile = strtotime("now")  ."_". $uploadfile;
    }else{
     //파일저장
     move_uploaded_file($_FILES[ $file_name ]['tmp_name'], $uploaddir.$uploadfile);   
     break;
    }
   }
  }else{
  return null;
  }

return $uploadfile;
}
//중복된 파일네임체크
function CheckFileName( $uploadfile , $uploaddir ){
if( is_file($uploaddir. $uploadfile) ){ 
  return true; 
}else{
  return false;
}

}

?>

초보들을 위한 초간단 TIP

[게시판 리스트 색깔 바꾸기]

게시판 리스트출력할때 한칸 흰색 한칸 회색으로 변경해줍니다.

$bg_color=1;
$bg_color_set="";

while(true){

  if( ($bg_color % 2)   ){
   $bg_color_set='FFFFFF';
  }else{
   $bg_color_set="F4F6F7";
  }

?>

    <td height="27" bgcolor="<?=$bg_color_set?>"> //색깔변경해주기

<?

$bg_color ++;

}

[자기자신 페이지 위치알기]

<?= $_SERVER['PHP_SELF']?>

[가로로 출력하기]

    <?php
    $num_rows = mysql_num_rows($result);
    echo $num_rows;
    $i = 1;
    while ($line  = mysql_fetch_array($result) ){
        if ($i%3==1) echo "<tr>";
        echo "<td>". $line["makedate"]."</td>";
        if ($i%3 ==0) echo "</tr>";
        $i++;
    }   
         if ($i%3 != 1) echo "</tr>";
      ?>

[이미지 정보알아내기]

$img_size=GetImageSize("/home2/client/경로/www/Data/Winter Leaves.jpg");

$width = $img_size[0]; //넓이

$height = $img_size[1]; //높이

$image_type = $img_size[2]; //타입

굵직한거는 자주쓰는 함수~

더 강력하게 문자열을 다루고 조작하는 함수를 원한다면, POSIX 정규표현식 함수펄 호환 정규표현식 함수를 살펴보십시오.

차례
AddCSlashes -- C 형식으로 문자열에 슬래쉬를 덧붙입니다.
addslashes -- 문자열에 슬래쉬를 덧붙입니다.
bin2hex --  바이너리 데이터를 16진수 표현으로 바꿉니다.
chop -- rtrim()의 별칭.
chr -- 특정 문자를 반환합니다.
chunk_split -- 문자열을 작은 조각으로 나눕니다.
convert_cyr_string --  키릴 문자셋을 다른 것으로 변환합니다.
convert_uudecode --  Decode a uuencoded string
convert_uuencode --  Uuencode a string
count_chars --  문자열 안에 사용한 문자에 대한 정보를 반환합니다.
crc32 -- 문자열의 crc32값을 계산합니다.
crypt -- 단방향 문자열 암호화(해슁).
echo -- 하나 이상의 문자열을 출력합니다.
explode -- 문자열을 주어진 문자열을 기준으로 분리합니다.
fprintf -- 문자열을 형식화하여 스트림에 기록합니다.
get_html_translation_table --  htmlspecialchars()htmlentities()에서 사용하는 변환표를 반환합니다.
hebrev --  논리 헤브라이어 텍스트를 표시 텍스트로 변환합니다.
hebrevc --  개행 문자를 포함하여 논리 헤브라이어 텍스트를 표시 텍스트로 변환합니다.
html_entity_decode --  모든 HTML 엔티티를 해당하는 문자로 변환합니다.
htmlentities --  해당하는 모든 문자를 HTML 엔티티로 변환합니다.
htmlspecialchars --  특수 문자를 HTML 엔터티로 변환합니다.
implode -- 문자열로 배열 요소를 결합합니다.
join -- implode()의 별칭.
levenshtein --  두 문자열 사이의 Levenshtein distance를 계산합니다.
localeconv -- 숫자 형식화 정보를 얻습니다.
ltrim --  문자열 시작 부분의 공백을 제거합니다.
md5_file -- 주어진 파일명의 md5 해쉬를 계산합니다.
md5 -- 문자열의 md5 해쉬를 계산합니다.
metaphone -- 문자열의 메타폰 키를 계산합니다.
money_format -- Formats a number as a currency string
nl_langinfo --  언어와 로케일 정보를 얻습니다.
nl2br --  문자열의 모든 줄바꿈 앞에 HTML 줄바꿈 태그를 삽입합니다.
number_format -- Format a number with grouped thousands
ord -- 문자의 아스키 값을 반환합니다.
parse_str -- 문자열을 처리하여 변수를 생성합니다.
print -- 문자열을 출력합니다.
printf -- 형식화한 문자열을 출력합니다.
quoted_printable_decode --  인용되어 있는 출력 가능 문자열을 8비트 문자열로 변환합니다.
quotemeta -- 메타 문자를 인용합니다.
rtrim --  문자열 끝 부분의 공백을 제거합니다.
setlocale -- 지역적보를 지정한다.
sha1_file -- 파일의 sha1 해쉬를 계산합니다.
sha1 -- 문자열의 sha1 해쉬를 계산합니다.
similar_text --  두 문자열 간의 유사성을 계산합니다.
soundex -- 문자열의 soundex 키를 계산합니다.
sprintf -- 형식화한 문자열을 반환합니다.
sscanf --  문자열을 형식에 따라 처리합니다.
str_ireplace --  대소문자를 구별하지 않는 str_replace().
str_pad --  문자열을 어떠한 길이가 되도록 다른 문자열로 채웁니다.
str_repeat -- 문자열을 반복합니다.
str_replace --  발견한 모든 검색 문자열을 치환 문자열로 교체합니다.
str_rot13 -- 문자열에 rot13 변환을 수행합니다.
str_shuffle -- 문자열을 랜덤하게 섞습니다.
str_split --  문자열을 배열로 변환합니다.
str_word_count --  문자열에서 사용한 단어에 대한 정보를 반환합니다.
strcasecmp --  대소문자를 구별하지 않는 바이너리 호환 문자열 비교
strchr -- strstr()의 별칭.
strcmp -- 바이너리 호환 문자열 비교
strcoll -- 로케일 기반 문자열 비교
strcspn --  마스크에 매칭하지 않는 처음 세그먼트의 길이를 찾습니다.
strip_tags -- 문자열에서 HTML과 PHP 태그를 제거합니다.
stripcslashes --  addcslashes()로 처리한 문자열을 되돌립니다.
stripos --  대소문자를 구별하지 않고 문자열이 처음 나타나는 위치를 찾습니다.
stripslashes --  addslashes()로 처리한 문자열을 되돌립니다.
stristr --  대소문자를 구별하지 않는 strstr()
strlen -- 문자열의 길이를 구합니다.
strnatcasecmp --  "natural order" 알고리즘을 이용한 대소문자를 구별하지 않는 문자열 비교.
strnatcmp --  "natural order" 알고리즘을 이용한 문자열 비교
strncasecmp --  대소문자를 구별하지 않는 처음 n 문자의 이진 호환 문자열 비교
strncmp --  처음 n 문자의 이진 호환 문자열 비교
strpbrk --  Search a string for any of a set of characters
strpos --  문자열이 처음 나타나는 위치를 찾습니다.
strrchr --  문자열에서 문자가 마지막으로 나오는 부분을 찾습니다.
strrev -- 문자열을 뒤집습니다.
strripos --  문자열에서 대소문자 구별 없이 문자열이 나타나는 마지막 위치를 찾습니다.
strrpos --  문자열에서 마지막 문자의 위치를 찾습니다.
strspn --  마스크에 매칭되는 초기 세그먼트의 길이를 찾는다.
strstr -- 문자열이 처음으로 나타나는 부분을 찾습니다.
strtok -- 문자열을 토큰화 합니다.
strtolower -- 문자열을 소문자로 만듭니다.
strtoupper -- 문자열을 대문자로 만듭니다.
strtr -- 특정 문자를 번역한다.
substr_compare --  Binary safe optionally case insensitive comparison of 2 strings from an offset, up to length characters
substr_count -- 부분문자열의 수를 센다
substr_replace -- 문자열의 일부를 치환한다.
substr -- 문자열의 일부를 반환한다.
trim --  문자열의 처음과 끝에 있는 공백을 제거한다.
ucfirst -- 문자열의 처음 글자를 대문자로 만든다.
ucwords --  문자열에 있는 각 단어의 처음 글자를 대문자로 바꾼다.
vprintf -- Output a formatted string
vsprintf -- Return a formatted string
wordwrap --  정지문자를 이용해 주어진 수 만큼의 문자를 래핑한다.

파일업로드

참고URL: http://www.php.net/manual/kr/features.file-upload.php#features.file-upload.post-method

$_FILES['userfile']['name']

클라이언트 머신에 존재하는 파일의 원래 이름.

$_FILES['userfile']['type']

브라우저가 이 정보를 제공할 경우에, 파일의 mime 형식. 예를 들면 "image/gif".

$_FILES['userfile']['size']

업로드된 파일의 바이트로 표현한 크기.

$_FILES['userfile']['tmp_name']

서버에 저장된 업로드된 파일의 임시 파일 이름.

$_FILES['userfile']['error']
<?
$uploaddir = '/home/kojaedoo/html/DownLoadFile/';
$uploadfile = $uploaddir . $_FILES['fileName']['name'];

print "<pre>";

if (move_uploaded_file($_FILES['fileName']['tmp_name'], $uploadfile)) {
   print "파일이 존재하고, 성공적으로 업로드 되었습니다.";
   print "추가 디버깅 정보입니다:\n";
   print_r($_FILES);
}

else {
   print "파일 업로드 공격의 가능성이 있습니다! 디버깅 정보입니다:\n";
   print_r($_FILES);
}
print "</pre>";
?>

is_dir

bool is_dir ( string filename)
filename이 존재하고 디렉토리이면 TRUE를 반환합니다.

이 함수의 실행결과는 캐시가 됩니다. 좀더 자세한 내용을 알고 싶으면 clearstatcache()를 보세요

참조is_file()그리고 is_link().

is_file

bool is_file ( string filename)
filename이 존재하고, 정상적인 보통의 파일이라면(regular) TRUE를 반환

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶으면 clearstatcache()를 보세요.

참조is_dir() 그리고 is_link().

사용예제

if(is_file("images/10.jpg")) echo 'file exists';

opendir (PHP 3, PHP 4 , PHP 5)

opendir -- 디렉토리 핸들을 엽니다.

설명
resource opendir ( string path)

closedir(), readdir(), rewinddir() 호출에서 사용하는 디렉토리 핸들을 반환합니다.

path가 유효하지 않은 디렉토리이거나, 권한 제한이나 파일시스템 에러로 인해 디렉토리를 열 수 없는 경우, opendir()FALSE를 반환하고 E_WARNING 레벨의 PHP 에러를 발생합니다. opendir() 앞에 '@'를 붙여 에러 출력을 없앨 수 있습니다.

예 1. opendir() 예제

<?php
$dir = "/tmp/";
// 알고 있는 디렉토리를 열어서, 내용을 읽어들이는 작업입니다.
if (is_dir($dir)) {
   if ($dh = opendir($dir)) {
       while (($file = readdir($dh)) !== false) {
           echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
       }
closedir($dh);
   }
}
?>

PHP 4.3.0부터 path는 디렉토리 목록을 지원하는 URL일 수 있지만, PHP 4.3에서는 file:// URL 래퍼만 지원합니다. PHP 5.0.0부터는 ftp:// URL 래퍼도 지원합니다.

참고: is_dir(), readdir(), Dir

readdir

(PHP 3, PHP 4 , PHP 5)

readdir -- 디렉토리 핸들에서 엔트리를 읽습니다.

설명

string readdir ( resource dir_handle)

디렉토리에서 다음 파일의 파일명을 반환합니다. 반환하는 파일명의 순서는 파일시스템에 저장한 순서입니다.

readdir()의 반환값은 아래 예제체럼 확인해야 하는 점에 주의하십시오. 반환값이 FALSE와 완전히 동일한지 (형까지 일치--자세한 정보는 비교 연산자를 참고하십시오) 확인하고 있습니다. 이렇게 하지 않으면, FALSE로 인식하는 디렉토리 엔트리에서 루프가 멈춥니다. (예. 디렉토리 이름이 "0")

예 1. 디렉토리 안의 모든 파일 목록

<?php
// !== 은 4.0.0-RC2까지 존재하지 않았던 점에 주의하십시오.
if ($handle = opendir('/path/to/files')) {
   echo "Directory handle: $handle\n";
   echo "Files:\n";
/* 디렉토리 안을 루프하는 올바른 방법입니다. */
while (false !== ($file = readdir($handle))) {
       echo "$file\n";
   }
/* 디렉토리 안을 루프하는 *틀린* 방법입니다. */
while ($file = readdir($handle)) {
       echo "$file\n";
   }
closedir($handle);
}
?>

unlink

(PHP 3, PHP 4 , PHP 5)

unlink -- 파일을 삭제하기

Description

int unlink ( string filename)

filename을 삭제합니다. Unix C의 unlink() 함수와 비슷합니다.

0 이나 FALSE를 반환합니다.

참조 디렉토리를 제거하는데 rmdir()

간단한 사용예)

<?php

     if(file_exists($file))
     unlink($file);

?>

[간단한 중복방지 파일 업로드]

$_FILES : enctype="multipart/form-data" 넘겨주면 $_FILES 로받을수 있습니다

$file_name : 파일을 넘겨주는 input type 필드 이름

$uploaddir :  저장디렉토리

사용법

$lastFileName = CheckFile(  $_FILES ,  "file_name" , $uploaddir  );

echo "중복안된파일네임="$lastFileName;

function CheckFile(  $_FILES , $file_name ,  $uploaddir  ){

if($_FILES != null){
  $uploadfile = $_FILES[ $file_name ]['name'];
   while ( true ){
    ///CheckFileName() 를 이용하여 그 디렉토리에 파일이 있는지 없는지 검색합니다.
    if( CheckFileName( $uploadfile , $uploaddir ) ){
     //같은이름이 발견되서 파일네임 변경
     $uploadfile = strtotime("now")  ."_". $uploadfile;
    }else{
     //파일저장
     move_uploaded_file($_FILES[ $file_name ]['tmp_name'], $uploaddir.$uploadfile);   
     break;
    }
   }
  }else{
  return null;
  }

return $uploadfile;
}
//중복된 파일네임체크
function CheckFileName( $uploadfile , $uploaddir ){
if( is_file($uploaddir. $uploadfile) ){ 
  return true; 
}else{
  return false;
}

}

'PHP' 카테고리의 다른 글

iconv 를 이용한 인코딩변환 하기  (0) 2010.02.01
[ob_get_contents] 출력버퍼를 이용해서 버퍼의 내용가져오기  (0) 2010.01.29
나의 PHP 유틸클래스  (0) 2010.01.08
PHP 초보들을 위한 초간단 TIP  (0) 2010.01.08
문자열함수  (0) 2009.12.15
[PHP]기본문법  (0) 2009.12.15
[FUNCTION] 자주쓰는 함수  (0) 2009.12.15
[MYSQL]간단한 사용법  (0) 2009.12.15
PHP 가로로 출력  (0) 2009.04.08
PHP 기본문법  (0) 2009.04.06

http://www.php.net/manual/kr/funcref.php

INCLUDE

require()

require()문은 특정 파일을 인클루드하고, 적용시킨다.

require()문은 특정 파일을 인클루드하고, 적용시킨다. 이런 인클루드가 어떻게 동작하는지에 대한 자세한 정보는 include()에 대한 문서에서 설명한다.

require()include() 는 수행실패를 제어하는 방법을 제외하고 모든면에서 동일하다. include()Warning을 발생시키는 반면에 require()Fatal Error을 발생시킨다. 즉, 파일이 존재하지 않을때 페이지 처리를 중단시키 고자 한다면 require()를 쓰는데 주저할 필요가 없다. include()는 이와같이 동작하지 않으므로 파일이 없더라도 스크립트는 계속 실행될것이다. 또한 적절한 include_path설정인지 확인해야 한다.

예 11-2. 기본적인 require() 사용예

<?php
require 'prepend.php';
require $somefile;
require ('somefile.txt');
?>

더 많은 예제 코드는 include()문서에서 볼수있다.

*require_once()

require_once()문은 스크립트 수행기간 중에 특정파일을 인클루드하고 적용시킨다. 이것은 require()문과 비슷하게 동작한다. 오직 파일의 코드가 이미 인클루드되었다면 다시 인클루드되지 않을것 이라는 차이점이 있다. 이 구문이 어떻게 작용하는지에 대한 정보를 알아보려면 require()함수에 대한 문서를 보세요.

require_once()는 특정 스크립트 수행기간동안 한번이상 인클루드되고 적용될수 있는 상황에서 사용하도록 한다. 그리고 함수 중복 정의와 변수값 중복 지정 등에 대한 문제를 회피하기 위해서는 정확히 한번 인클루드될 필요가 있을것이다.

require_once()include_once()의 사용예는 최신 PHP 소스코드 안에 포함된 PEAR코드를 참고할것.

참고: require_once()는 PHP 4.0.1pl2에 추가되었다.

참고: require_once()include_once()은 대소문자를 구별하지 않는 운영체제(윈도우 같은)에서는 기대하던대로 동작하지 않을지 모른다.

예 11-8. require_once()는 윈도우에서 대소문자를 구별하지 못합니다.

<?php
require_once("a.php"); // this will include a.php
require_once("A.php"); // this will include a.php again on Windows!
?>

include()

include()문은 특정 파일을 인클루드 하고, 적용시킨다.

이하 내용은 require()에도 적용되는 사항이다. 두가지 구조는 수행실패를 제어하는 방법을 제외하고 모든면에서 동일하다. include()Warning을 발생시키는 반면에 require()Fatal Error을 발생시킨다. 즉, 파일이 존재하지 않을때 페이지 처리를 중단시키 고자 한다면 require()를 쓰는데 주저할 필요가 없다. include()는 이와같이 동작하지 않으므로 파일이 없더라도 스크립트는 계속 실행될것이다. 또한 적절한 include_path설정인지 확인해야 한다. require한 파일 안에서의 처리 오류는 수행을 멈추지 않는 점에 주의하십시오.

include_once()

include_once()문은 스크립트 수행기간동안 특정파일을 인클루드하고 적용시킨다. 이것은 include()문과 비슷하게 동작한다. 단지 파일의 특정 코드가 이미 인클루되었다면 그 코드는 다시는 인클루드 될수 없다는 차이점만 있다. 이 이름이 제시하듯이 한번만 인클루드할것이다.

include_once()는 특정 스크립트 수행기간동안 동일한 파일이 한번 이상 인클루드되고 적용될지도 모르는 상황에서 사용해야 할것이다. 그리고 함수 중복정의, 변수값 중복 지정 등의 문제를 회피하려면 정확히 한번만 인클루드할 때가 있을것이다.

require_once()include_once()의 더 많은 사용예는, 최신 PHP소스 내의 PEAR코드를 참고할것

참고: include_once()는 PHP 4.0.1pl2에서 추가됨

참고: include_once()require_once()는 대소문자를 구별하지 않는 운영체제(윈도우같은)에서 기대와 다르게 작동할수도 있다.

예 11-9. include_once()는 윈도우에서 대소문자를 구별하지 못합니다.

<?php
include_once("a.php"); // this will include a.php
include_once("A.php"); // this will include a.php again on Windows!
?>

----------------------------PHP 기본블럭 ------------------------------

1.  <?php echo("XHTML나 XML 문서와 호환시키려면, 이렇게 쓰세요\n"); ?>
2.  <? echo ("이런 형태가 제일간단하다. SGML 처리명령\n"); ?>
<?= expression ?>는 "<? echo expression ?>"을 간단히 쓴 태그형
3.  <script language="php">
echo ("어떤 에디터 (프론트페이지같은)는
             처리 명령을 좋아하지 않는다");
</script>
4.  <% echo ("ASP스타일 태그를 쓸수도 있다"); %>
   <%= $variable; # 이것은 "<% echo . . ." %>을 간단히 쓴 태그형

제어문

IF

<?php
if ($a > $b) {
   echo "a는 b보다 크다";
} elseif ($a == $b) {
   echo "a는 b와 같다";
} else {
   echo "a는 b보다 작다";
}
?>

WHILE

다음 예는 모두 동일하다. 둘다 1부터 10까지의 숫자를 출력한다.:

<?php
/* example 1 */
$i = 1;
while ($i <= 10) {
   echo $i++;  /* 출력하는 값은 증가하기
                   전의 $i입니다.
                   (post-increment) */
}
/* example 2 */
$i = 1;
while ($i <= 10):
   echo $i;
$i++;
endwhile;
?>

FOR

다음 예제 코드들을 보세요. 이 코드 모두 1부터 10까지의 숫자를 출력한다:

<?php
/* 예제 1 */
for ($i = 1; $i <= 10; $i++) {
   echo $i;
}
/* 예제 2 */
for ($i = 1; ; $i++) {
   if ($i > 10) {
       break;
   }
   echo $i;
}
/* 예제 3 */
$i = 1;
for (; ; ) {
   if ($i > 10) {
       break;
   }
   echo $i;
$i++;
}
/* 예제 4 */
for ($i = 1; $i <= 10; echo $i, $i++);
?>

FOREACH

더 많은 예제 코드들이 사용법에 대해서 설명해준다:

<?php
/* foreach 예제 1: 값만 */
$a = array(1, 2, 3, 17);
foreach ($a as $v) {
   echo "\$a의 현재 값: $v.\n";
}
/* foreach 예제 2: 값 (키는 가상으로 출력) */
$a = array(1, 2, 3, 17);
$i = 0; /* 가상 목적으로만 사용 */
foreach ($a as $v) {
   echo "\$a[$i] => $v.\n";
$i++;
}
/* foreach 예제 3: 키와 값 */
$a = array(
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
foreach ($a as $k => $v) {
   echo "\$a[$k] => $v.\n";
}
/* foreach 예제 4: 다차원 배열 */
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
foreach ($a as $v1) {
   foreach ($v1 as $v2) {
       echo "$v2\n";
   }
}
/* foreach 예제 5: 동적 배열 */
foreach (array(1, 2, 3, 4, 5) as $v) {
   echo "$v\n";
}
?>

break

break는 현재 for, foreach while, do..while 또는 switch절의 수행을 멈춘다.

<?php
$arr = array('one', 'two', 'three', 'four', 'stop', 'five');
while (list (, $val) = each ($arr)) {
   if ($val == 'stop') {
       break;    /* 여기서는 'break 1;'으로 슬 수 있습니다. */
}
   echo "$val<br />\n";
}
/* 옵션 인자 사용하기. */
$i = 0;
while (++$i) {
   switch ($i) {
   case 5:
       echo "At 5<br />\n";
       break 1;  /* switch만 빠져나갑니다. */
case 10:
       echo "At 10; quitting<br />\n";
       break 2;  /* switch와 while을 빠져나갑니다. */
default:
       break;
   }
}
?>

SWITCH

다음 예제 코드들은 같은 일을 서로 다르게 표현한 것입니다. 하나는 ifelseif문을 사용한 것이고, 다른 하나는 switch문을 사용했습니다:

<?php
if ($i == 0) {
   echo "i는 0";
} elseif ($i == 1) {
   echo "i는 1";
} elseif ($i == 2) {
   echo "i는 2";
}
switch ($i) {
case 0:
   echo "i는 0";
   break;
case 1:
   echo "i는 1";
   break;
case 2:
   echo "i는 2";
   break;
}
?>

'PHP' 카테고리의 다른 글

[ob_get_contents] 출력버퍼를 이용해서 버퍼의 내용가져오기  (0) 2010.01.29
나의 PHP 유틸클래스  (0) 2010.01.08
PHP 초보들을 위한 초간단 TIP  (0) 2010.01.08
문자열함수  (0) 2009.12.15
[PHP] 파일관련 함수  (0) 2009.12.15
[FUNCTION] 자주쓰는 함수  (0) 2009.12.15
[MYSQL]간단한 사용법  (0) 2009.12.15
PHP 가로로 출력  (0) 2009.04.08
PHP 기본문법  (0) 2009.04.06
Php 이미지 정보 알아내기  (0) 2009.04.06

http://www.php.net/manual/kr/funcref.php

[쿠키사용하기]

http://kr.php.net/manual/kr/features.cookies.php

setcookie()setrawcookie() 함수를 사용하여 쿠키를 설정할 수 있습니다. 쿠키는 HTTP 헤더의 일부분이기에, setcookie()는 브라우저에 어떠한 출력이 이루어지기 전에 호출해야 합니다. 이는 header()가 가지고 있는 것과 동일한 제약입니다. 출력 버퍼링 함수를 사용하여 쿠키 설정이나 헤더 전송을 결정할때까지 스크립트 출력을 지연할 수 있습니다.

setcookie() 전송 예제

$value = 'something from somewhere';
setcookie("TestCookie", $value);
setcookie("TestCookie", $value,time()+3600);  /* 1시간 뒤에 만료 */
setcookie("TestCookie", $value,time()+3600, "/~rasmus/", ".example.com", 1);

*비러머글~ 쿠키

로컬에서 잘 되다가 서버호스팅에서 작업하니 쿠키가 꿉히지 않았따 ㅡㅡ;;;;

setcookie('member_id' , $member_id); //쿠키생성 ( X )

그래서

setcookie('member_id' , $member_id ,-1 ,"/"); //쿠키생성( O )

시간과 생성디렉토리를 추가적으로 넣어주니 잘된다 ㅜㅜ

개별 쿠키의 출력
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];
// 모든 쿠키를 보는 디버그/테스트 방법
print_r($_COOKIE);

setcookie() 삭제 예제

// 만료 날짜를 한시간전으로 설정
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".example.com", 1);

[세션사용하기]

http://kr.php.net/manual/kr/ref.session.php

session_start(); //세션을사용하겠다는 선언
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less

//isset 변수가 설정되었는지 확인할수 있따~
if (!isset($_SESSION['count'])) {

  $_SESSION['count'] = 0; //설정

} else {

$_SESSION['count']++;

}

[ isset ]

var가 존재하면 TRUE를, 존재하지 않는 다면 FALSE를 반환합니다.

변수를 unset()으로 지우면, 더 이상 존재하지 않습니다. NULL로 지정한 변수를 확인하면 isset()FALSE를 반환합니다. NULL 바이트("\0")는 PHP NULL 상수와 다릅니다.


$var = '';
// TRUE이기에 텍스트를 출력합니다.
if (isset($var)) {
   echo "이 변수는 존재하기에 출력합니다.";
}
// 다음 예제는 isset()의 반환값을
// 출력하기 위해서 var_dump를 사용합니다.
$a = "test";
$b = "anothertest";
var_dump(isset($a));    // TRUE
var_dump(isset($a, $b)); // TRUE
unset ($a);
var_dump(isset($a));    // FALSE
var_dump(isset($a, $b)); // FALSE
$foo = NULL;
var_dump(isset($foo));  // FALSE

[ substr ]

Substr은 startlength 매개변수에 의해 지정된 string 문자열의 일부를 반환한다.

만약 start양수라면, 반환되는 문자열은 0부터 시작되는 stringstart번째 위치에서 시작하는 문자열이 될 것이다. 예를 들어 문자열 'abcdef'이 있다고 하자. 0의 위치에 있는 문자는 'a'가 되고, 2의 위치에 있는 문자는 'c'가 되는 식이다.

사용예)  <?=substr($line[makedate] , 0 , 10  ) ?>

[htmlspecialchars]
// HTML코드를 특수문자로 바꾸어버림
$name = htmlspecialchars($name);
// 예) <b> -> <b>
$comment = htmlspecialchars($comment);

[addslashes]
addslashes 함수는 DB에 데이터를 입력할때 ' (작은따옴표) 같은 값들이 SQL 문에서 에러가 나지않고 입력되게 하기위한 배려이다.
$name = addslashes($name);

[stripcslashes]

addcslashes로 저장된 데이터베이스 내용을 출력하면 \" 등등 쌍따옴표등으로 나옵니다

이부분을 제거하기 위해서 
echo stripcslashes( $rs['content']);

stripcslashes --  addcslashes()로 처리한 문자열을 되돌립니다.
string stripcslashes ( string str)

백슬래쉬를 제거한 문자열을 반환합니다. C 형식의 \n, \r ..., 8진과 16진 표현도 인식합니다.

참고: addcslashes().

[데이터 베이스 연결]
$connect = mysql_connect("localhost","user","pass")

or die("SQL server에 연결할 수 없습니다.");

mysql_select_db("user_db",$connect);

저장하기
$query = "insert into testboard values ('','$name','$email','$pass','$title','$comment',now(),'$REMOTE_ADDR',0)";
$result=mysql_query($query, $conn);
//데이터베이스와의 연결 종료
mysql_close($conn);

셀렉트
$result_count=mysql_query("select count(*) from testboard",$conn);
$result_row=mysql_fetch_row($result_count);
$total_row = $result_row[0];
// 새 글 쓰기인 경우 리스트로..
echo ("<meta http-equiv='Refresh' content='1; URL=list.php'>");
?>
<center>
<font size=2>정상적으로 저장되었습니다.</font>
[explode]

문자열을 주어진 문자열을 기준으로 분리합니다

// 예제 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode (" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

'PHP' 카테고리의 다른 글

[ob_get_contents] 출력버퍼를 이용해서 버퍼의 내용가져오기  (0) 2010.01.29
나의 PHP 유틸클래스  (0) 2010.01.08
PHP 초보들을 위한 초간단 TIP  (0) 2010.01.08
문자열함수  (0) 2009.12.15
[PHP] 파일관련 함수  (0) 2009.12.15
[PHP]기본문법  (0) 2009.12.15
[MYSQL]간단한 사용법  (0) 2009.12.15
PHP 가로로 출력  (0) 2009.04.08
PHP 기본문법  (0) 2009.04.06
Php 이미지 정보 알아내기  (0) 2009.04.06

+ Recent posts