implode 와 explode

PHP 2008. 3. 2. 20:27
implode 특정구분자로 배열을 문자열로 변환

<?php

$array
= array('lastname', 'email', 'phone'
);
$comma_separated = implode(",", $array
);

echo
$comma_separated;
// lastname,email,phone

?>



explode 특정구분자로 구분된 문자열을 배열로 변황
<?php
// 예제 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode (" ", $pizza);
echo
$pieces[0]; // piece1
echo $pieces[1]; // piece2

// 예제 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list(
$user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo
$user; // foo
echo $pass; // *

?>

상당히 유용하게 사용되며,
예전에 문자열을 하나씩 추가 시키면서 for문으로 돌려서 사용을 해서
끝에 필요없는 문자열이 하나씩 추가되는 현상에 대해 고민할 필요가 없어졌다.

분명 explode로 사용을 할때도 implode가 있었을텐데..
왜 난 내장함수를 그리도 사용을 못했던가....

어쨌거나 알아두면 유용함...사용법도 쉽고 ㅋ
Posted by 철냄비짱
,

출처 : phpschool.com // 어느 분 자료



굉장히 유용하다.
사용하기도 쉽고 적용도 쉬움.
이미지 올라가는 부분과 첨부 된 이미지 중에서 마사용 이미지 걸러내고 저장 하는 부분은
살짝 튜닝해서 쓰는 중.

<!-- Content 입력 내용 부분에 삽입 -->
<link rel="StyleSheet" HREF="/KEditor/css/KEditor.css" type="text/css" title="style">
<script type="text/javascript" src="/KEditor/prototype.js"></script>
<script type="text/javascript" src="/KEditor/builder.js"></script>
<script type="text/javascript" src="/KEditor/KUtil.js"></script>
<script type="text/javascript" src="/KEditor/KEditor.js"></script>
<textarea name="content" id="contentEditor" class="textarea" style="width:520px;height:280px;"></textarea>
<script type="text/javascript">
var topMenu = [
 ["fontface","fontsize","|","bold","italic","underline","strikethrough","|","justifyleft","justifycenter","justifyright","justifyfull","|","fontcolor","bgcolor","|","code"],
 ["outdent","indent","|","undo","redo","|","table","insertdate","inserttime","charmap","fullscreen","|","link","unlink","image"]
];

var editor = new KEditor(
 "contentEditor",
 {
  lang: "php",
  updateDir: "/KEditor/data/editor", //절대경로 표기 할것
  topMenus: topMenu
 });
</script>
<!-- //Content 입력 내용 부분에 삽입 -->

Posted by 철냄비짱
,
<?
/*
 데이터 엑셀로 출력
*/
header( "Content-type: application/vnd.ms-excel; charset=euc-kr" );
header( "Content-Disposition: attachment; filename=파일명.xls" );
Header("Content-Transfer-Encoding: binary");
Header("Content-Type charset=ks_c_5601-1987");
Header("Pragma: no-cache");
Header("Expires: 0");
header( "Content-Description: PHP4 Generated Data" );



/*
   리스트 조회 코딩
*/
?>


이 방식으로 최대한 간편하게 프로그래밍이 가능하다.

header만 추가시켜주면 끝 ^^
Posted by 철냄비짱
,

<?
/* 썸네일 파일 생성 시작*/
function create_thumnail($url, $width=0, $height=0)
{
 global $HTTP_SERVER_VARS;
 
 if ($url[0] == "/") $fname = $url;
 else $fname = $url;
 
 $imsize = @getimagesize($fname);
 if (empty($imsize)) return;
 
 if ($imsize[0] >= 10 && $imsize[1] >= 10)  {

  if ($width > 0) {
   if ($imsize[0] > $width) {
    $imsize[1] = intval($imsize[1] * $width / $imsize[0]);
    $imsize[0] = $width;
   }
  }
 
  if ($height > 0) {
   if ($imsize[1] > $height) {
    $imsize[0] = intval($imsize[0] * $height / $imsize[1]);
    $imsize[1] = $height;
   }
  }
 }
 
 //$src = gd_imagecreate($url);

 $pos = strrpos($url, ".");
 $ext = strtolower(substr($url, $pos + 1));
 
 if ($ext == "jpeg" || $ext == "jpg") $src = imagecreatefromjpeg($url);
 else if ($ext == "gif") $src = imagecreatefromgif($url);
 else if ($ext == "bmp") $src = imagecreatefromwbmp($url);
 else if ($ext == "png") $src = imagecreatefrompng($url);

  $dest = imagecreatetruecolor($imsize[0], $imsize[1]);

  // 이미지 정보
  list($image_width, $image_height) = getimagesize($fname);
 @imagecopyresampled($dest, $src, 0, 0, 0, 0, $imsize[0], $imsize[1], $image_width, $image_height);


 imagejpeg($dest, $fname);
 
// echo "<img src='$fname' width='${imsize[0]}' height='${imsize[1]}' border='0'>";

}
/* 썸네일 파일 생성 끝*/
?>


사용시...
  //create_thumnail(BBS_DATA_PATH."/".$folder_path."/".$realfile, 540, 0);
  create_thumnail(BBS_THUMNAIL_PATH."/".$folder_path."/".$realfile, 138, 0);

Posted by 철냄비짱
,

foreah 구문

PHP 2008. 2. 3. 18:11
<?php
$arr
= array("하나", "둘", "셋"
);
reset($arr
);
while (list(,
$value) = each($arr
)) {
    echo
"값: $value<br />\n"
;
}

foreach (
$arr as $value
) {
    echo
"값: $value<br />\n"
;
}
?>

작업하면서 배열구문을 많이 사용할때가 있다.

게시판만 하더라도 수도 없이 사용됨. 그 와중에 같은 목적의 변수들을

$value = Array("1", "2", "3");
$text  = Array("하나", "줄", "셋");

이렇게 같이 땡겨 사용할시 메모리 낭비...

foreach문으로 value 값과 key 값을 동시에 대입, 사용할 수 있다.

상당히 유용항 구문... 나도 아직 습관기르는 중...
Posted by 철냄비짱
,

if, else, else if

PHP 2008. 1. 27. 10:26
프로그래머는 if문 하나만으로 어느정도 일을 할 수 있다는 말이 있을정도로

많이 쓰이는 구문이다.

그닥 별 설명할 것이 없다.  비교 구문법이고 다양한 비교가 가능하다.

<?php
if ($a > $b
) {
    echo
"a는 b보다 크다"
;
} else {
    echo
"a는 b보다 크지 않다"
;
}
?>

이게 이해가 안가면 정말 위험...


Posted by 철냄비짱
,
PHP로 4~년간을 먹고 살면서 안지 얼마 안된 정보 ㅠ.ㅜ

mysql_fetch_array(), mysql_fetch_assoc() 는 DB에서 가져온 내용의 값을 배열변수에 대입하는 역활을 한다.

mysql_fetch_array() 는 위에서 작성한 것과 같이,

$row[0], $row[1], $row[2], $row[3] .......
$row[no], $row[title], $row[content], $row[regdate] .......

이 두 문법으로 어떤 것이든 사용가능하다. 허나 [1], [2] 형식으로 사용하기엔
테이블의 정보가 머리속에 꿰차고 있지 않는 이상, 간단한 COUNT() 함수나 as 문으로 가져온 내용만 사용하게
된다.

즉, 쉽게 설명 하자면 서버 메모리에 같은 value값의 배열변수가 두개씩 저장이 된다는 점.

mysql_fetch_assoc() 는 [1][2][3] 형식의 키값은 저장이 안되고 오직
테이블의 필드명으로 저장, [no][title][content] 값들만 저장됨.

서버에 부하를 덜어주는 중요한 함수
Posted by 철냄비짱
,

PHP 1차 배열의 기초

PHP 2008. 1. 27. 10:14

배열이라면 난 머리부터 아프다.
학교 다닐때 부터 수학이라곤 거리가 멀었으니까...

목적이 있는 만큼, 잡담은 끝내고

PHP 1차배열

PHP에서 배열은 뗼수가 없다. 게시판의 글 목록만 봐도 꽤나 많은 양의 배열이 적용되어 있고
답글이나 덧글이 달리는 게시판이라면 배열이 엄청나게 쓰인거니까 말이다.

DB에서 데이터를 가지고 올 때

$sql = "SELECT * FROM notice ORDER BY regdate DESC limit 0, 10";
//뜻을 모르는 분이 계시겠냐만 초보분들을 위해, notice란 테이블에서 날짜 역순으로 10개를 조회

$result = mysql_query($sql) Or Die(mysql_error());
//mysql_query 라는 PHP 내장함수를 이용해 실행

$cnt = mysql_num_rows($result);
//mysql_num_rows 내장함수는 현재 값을 가져온 변수가 배열이라면 배열 value값의 갯수를 가져온다.

$row = mysql_fetch_array($result);
//이 부분은 배열을 드디어 입력하는 부분...
// 현재 $row 라는 변수내에 가져온 10개의 데이터가 저장되어 있다.

게시판이라면 일단 고유번호가 있을것이고 제목, 내용, 작성일, 작성자, 조회수가 있겠테니~

$row[no], $row[title], $row[content], $row[regdate], $row[user], $row[read]
간단하게 표현해서 이런식 ^^

Posted by 철냄비짱
,

누구나가 마찬가지로 처음부터 개발일을 하고, 능력이 있고, 프로그래밍에 관심이 있는것은 아니다.

나 역시 프로그래머라는 거창한 직업을 가질 생각은 전혀 없었다...

내 꿈은 작가였으니까 ^^

첫회사에 근무하던 2003~2004년 시대에 움직임에 따라, IT 인력이 보강되고

유행삼아 피어 오르던 컴퓨터 프로그래밍 또는 전산업무의 꿈을 가지고 도전하는 나같은

청년들이 많았다..

정말 순수한 동기는 아니었지만...^^

지금 작가가 하고싶었던 그 철없던 시절보다 더 난 만족한다.

물론 다 때려치고 싶다는 생각이 들때도 있지만 말이다.

여기서 내가 2002~2007년도 까지 배우고, 변화하는 내 노트북 속에서 몇년간 버티고 있던 자료들을

작성해 나가며 나 역시도 발전해 나가길 빈다...

Posted by 철냄비짱
,