오늘 개발을 진행하던중 사용했던 함수.. 잊지 말자..



echo "intval(16) = ".intval(16)."<br>";

echo "intval(1.6) = ".intval(1.6)."<br>";

echo "intval('16') = ".intval('16')."<br>";

echo "intval(+16) = ".intval(+16)."<br>";

echo "intval('+16') = ".intval('+16')."<br>";

echo "intval(-16) = ".intval(-16)."<br>";

echo "intval('-16') = ".intval('-16')."<br>";

echo "intval(016) = ".intval(016)."<br>";

echo "intval('016') = ".intval('016')."<br>";

//echo "intval(=16) = ".intval(=16)."<br>";   // 에러

echo "intval('=16') = ".intval('=16')."<br>";

//echo "intval(*16) = ".intval(*16)."<br>";   // 에러

echo "intval('*16') = ".intval('*16')."<br>";

//echo "intval(%16) = ".intval(%16)."<br>";   // 에러

echo "intval('%16') = ".intval('%16')."<br>";

//echo "intval($16) = ".intval($16)."<br>";   // 에러

echo "intval('$16') = ".intval('$16')."<br>";

//echo "intval(^16) = ".intval(^16)."<br>";   // 에러

echo "intval('^16') = ".intval('^16')."<br>";

echo "intval(array()) = ".intval(array())."<br>";

echo "intval(array('2016')) = ".intval(array('2016'))."<br>";

echo "intval(array('0')) = ".intval(array('0'))."<br>";

echo "intval(f) = ".intval(f)."<br>";

echo "intval('f') = ".intval('f')."<br>";

echo "intval(ff) = ".intval(ff)."<br>";

echo "intval('ff') = ".intval('ff')."<br>";

echo "intval(10*23.45) = ".intval(10*23.45)."<br>";

echo "intval('10*23.45') = ".intval('10*23.45')."<br>";


결과내용 

intval(16) = 16
intval(1.6) = 1
intval('16') = 16
intval(+16) = 16
intval('+16') = 16
intval(-16) = -16
intval('-16') = -16
intval(016) = 14
intval('016') = 16
intval('=16') = 0

intval('*16') = 0
intval('%16') = 0
intval('$16') = 0
intval('^16') = 0
intval(array()) = 0
intval(array('2016')) = 1
intval(array('0')) = 1
intval(f) = 0
intval('f') = 0
intval(ff) = 0
intval('ff') = 0
intval(10*23.45) = 234
intval('10*23.45') = 10


'프로그래밍 > PHP' 카테고리의 다른 글

[PHP] intval 정수반환  (0) 2016.01.25
[PHP] 이전 웹주소 처리  (0) 2014.05.14
[PHP] 특정문자 제거.  (0) 2014.05.14
[PHP] XML 다루기 - XML Parser  (0) 2012.07.25
[PHP] XML 다루기 - XMLReader  (0) 2012.07.24
[PHP] intval()함수  (0) 2011.11.08

ㅎㅎ 가끔 통계를 처리를 할때 이전에 어떤 주소에서 들어왔는지 보려할때

php 함수는 $_SERVER['HTTP_REFERER'] 을 사용을 하면은 기본 주소를 가져온다.


예) http://www.soulroad.net/test/test.php?x=123&y=4321 


그리고 대표 주소가 아닌 뒤에 경로가 필요없을경우 사용을 하는 함수는

parse_url(); 이다.


사용방법은 parse_url($_SERVER['HTTP_REFERER']); 할경우 배열로 값이 넘어온다.

print_r()함수로 확인을 해보면 아래와 같다.


Array

(

    [scheme] => http

    [host] => www.soulroad.net

    [path] => /test/test.php

    [query] => x=1234&y=4321

)


이렇게 나온다.


예)

$log_url = parse_url($_SERVER['HTTP_REFERER']);

$log_url = $logurl['scheme']."://".$logurl['host'];


이렇게 사용을 하던지 전체를 사용하면 된다.



'프로그래밍 > PHP' 카테고리의 다른 글

[PHP] intval 정수반환  (0) 2016.01.25
[PHP] 이전 웹주소 처리  (0) 2014.05.14
[PHP] 특정문자 제거.  (0) 2014.05.14
[PHP] XML 다루기 - XML Parser  (0) 2012.07.25
[PHP] XML 다루기 - XMLReader  (0) 2012.07.24
[PHP] intval()함수  (0) 2011.11.08

요즘 자꾸 함수를 까먹은거 같다..


특정문자 제거 함수..


str_replace(변경해야 할 문자, 변경할 문자, 값);


예)

$cellphone = '000-0000-0000';

$cellphone = str_replace('-','',$cellphone);

echo "cellphone = ".$cellphone;


값) 00000000000


으로 나온다


추가)

str_replace에 array를 사용할수 있다.

예 : str_replace(array(" ","A'), "", $Str_txt);

'프로그래밍 > PHP' 카테고리의 다른 글

[PHP] intval 정수반환  (0) 2016.01.25
[PHP] 이전 웹주소 처리  (0) 2014.05.14
[PHP] 특정문자 제거.  (0) 2014.05.14
[PHP] XML 다루기 - XML Parser  (0) 2012.07.25
[PHP] XML 다루기 - XMLReader  (0) 2012.07.24
[PHP] intval()함수  (0) 2011.11.08

xml로 작업을 할것이 있어서 찾던중 다른분이 만든것을 찾게 되어서 해당자료를 올려놓는다.

출처 : http://www.cyworld.com/bomnarain/9362771


<?xml version="1.0" encoding="UTF-8" ?> 

<PROVINCE>

<AREA code="1">강원도</AREA> 

<AREA code="2">경기도</AREA> 

<AREA code="3">경상남도</AREA> 

<AREA code="4">경상북도</AREA> 

<AREA code="5">광주광역시</AREA> 

<AREA code="6">대구광역시</AREA> 

<AREA code="7">대전광역시</AREA> 

<AREA code="8">부산광역시</AREA> 

<AREA code="9">서울특별시</AREA> 

<AREA code="10">울산광역시</AREA> 

<AREA code="11">인천광역시</AREA> 

<AREA code="12">전라남도</AREA> 

<AREA code="13">전라북도</AREA> 

<AREA code="14">제주특별자치도</AREA> 

<AREA code="15">충청남도</AREA> 

<AREA code="16">충청북도</AREA>

</PROVINCE>

 

=========================================================================================

/**

*XML Parser 을 이용하여 XML을 다룬다. 

* 자세한 설명및 레퍼런스는 http://kr.php.net/manual/kr/book.xml.php 를 참고 

*/

$rXml = xml_parser_create(); // xml 파서를 생성시킨다. 

$arXml = array(); // 임시 배열

$strXml = ''; // xml의 내용을 저장할 변수

/**

* file_get_contents 등의 파일 내용을 읽는 여러 함수를 이용할 수 있다. 

*/

$fp = fopen('./test.xml', 'r'); // xml 파일을 읽는다. 

if($fp) // 정상적으로 파일이 열렸다면 

{

while (!feof($fp)) { // EOF가 될때까지

$strXml .= fread($fp, 1024); // 1024 바이트씩 읽어서 임시 변수에 넣는다.

}

fclose($fp); // 파일을 닫는다.

}

xml_parser_set_option($rXml, XML_OPTION_CASE_FOLDING, 0); // 대문자로 변경 (기본이 enable이라 disable함)

xml_parser_set_option($rXml, XML_OPTION_SKIP_WHITE, 1); // 공백값을 무시힌다. 

xml_parse_into_struct($rXml, $strXml, $arXml); // 읽어들인 XML을 이용해서 배열에 XML구조를 담는다.

xml_parser_free($rXml);

$strNodeKey = null;

$arXmlAssoc = array();

// 연관배열 형식으로 하기 위해서 아래와 같이 처리

foreach ($arXml as $key => $arNode)

{

switch ($arNode['type'])

{

case 'open':

$strNodeKey = $arNode['tag'];

$arXmlAssoc[$arNode['tag']];

break;

case 'complete':

if(is_array($arNode['attributes']))

{

$arXmlAssoc[$strNodeKey][$arNode['tag']][] = array('attr' => $arNode['attributes'], 'value' => $arNode['value']);

}

else 

{

$arXmlAssoc[$strNodeKey][$arNode['tag']][] = $arNode['value'];

}

break;

case 'close':

$nOpenNodeKey = null;

break;

}

}

foreach ($arXmlAssoc['Province']['Area'] as $arElement)

{

echo $arElement['attr']['code'];

echo '=>';

echo $arElement['value'];

echo '<BR>';

}

 

 

 

 

=========================================================================================

결과 

1=>강원도

2=>경기도

3=>경상남도

4=>경상북도

5=>광주광역시

6=>대구광역시

7=>대전광역시

8=>부산광역시

9=>서울특별시

10=>울산광역시

11=>인천광역시

12=>전라남도

13=>전라북도

14=>제주특별자치도

15=>충청남도

16=>충청북도 


출처 : http://www.cyworld.com/bomnarain/9362771

'프로그래밍 > PHP' 카테고리의 다른 글

[PHP] 이전 웹주소 처리  (0) 2014.05.14
[PHP] 특정문자 제거.  (0) 2014.05.14
[PHP] XML 다루기 - XML Parser  (0) 2012.07.25
[PHP] XML 다루기 - XMLReader  (0) 2012.07.24
[PHP] intval()함수  (0) 2011.11.08
[PHP] str_pad 공간 채워넣기.  (0) 2011.07.25

xml로 작업을 할것이 있어서 찾던중 다른분이 만든것을 찾게 되어서 해당자료를 올려놓는다.

출처 : http://www.cyworld.com/bomnarain/9362777


<?xml version="1.0" encoding="UTF-8" ?> 
<PROVINCE>
	<AREA code="1">강원도</AREA> 
	<AREA code="2">경기도</AREA> 
	<AREA code="3">경상남도</AREA> 
	<AREA code="4">경상북도</AREA> 
	<AREA code="5">광주광역시</AREA> 
	<AREA code="6">대구광역시</AREA> 
	<AREA code="7">대전광역시</AREA> 
	<AREA code="8">부산광역시</AREA> 
	<AREA code="9">서울특별시</AREA> 
	<AREA code="10">울산광역시</AREA> 
	<AREA code="11">인천광역시</AREA> 
	<AREA code="12">전라남도</AREA> 
	<AREA code="13">전라북도</AREA> 
	<AREA code="14">제주특별자치도</AREA> 
	<AREA code="15">충청남도</AREA> 
	<AREA code="16">충청북도</AREA>
</PROVINCE>
=========================================================================================
/**
 * XMLReader 을 이용하여 XML을 다룬다.
 *
 * 자세한 설명및 레퍼런스는 http://kr.php.net/manual/kr/book.xmlreader.php 를 참고
 */
XMLReader::NONE;  // 노드가 아님
XMLReader::ELEMENT;  // 엘리먼트 시작
XMLReader::ATTRIBUTE; // 속성 노드
XMLReader::TEXT;  // 텍스트 노드
XMLReader::END_ELEMENT; // 엘리먼트 끝
XMLReader::CDATA; // 엘리먼트 끝
$oXml = new XMLReader(); // XMLReader 를 생성시킨다.
$oXml->open('./test.xml'); // 파일을 읽는다.
$arXml = array(); // 임시 배열
while ($oXml->read()) { // read() 가 false 이 될때까지 loop
 switch ($oXml->nodeType) // 노드 타입으로 분기 하여 처리
 {
  case XMLReader::ELEMENT: // 노드 타입이 Element일경우
   if($oXml->hasAttributes) // attribute 가 있을때
   {
    $oXml->moveToNextAttribute(); // next attribute 로 dlehd
    $nCode = (int)$oXml->value;  // attribute를 읽는다.
    /**
     * 현재 예제에서는 attribute 가 1개 (code) 가 있으므로 위와 같이 했지만. attribute가 여러개 일경우
     * $oXml->name 으로 속성을 구분 할 수 있다.
     */
   }
   $oXml->read(); // 다음노드로 이동
   $strValue = trim($oXml->value); // 값을 읽는다.  (공백,개행문자가 나올수 있으므로 trim시킴)
   if(strlen($strValue) > 0) // 문자길이가 0이상일때
   {
    // 임시 배열에 넣는다.
    $arXml[] = array('code' => $nCode, 'value'=> $strValue);
   }
   break;
 }
}
$oXml->close(); // XMLReader 를 닫는다.
foreach ($arXml as $arElement)
{
 echo $arElement['code'];
 echo '=>';
 echo $arElement['value'];
 echo '<BR>';
}
========================================================================================
결과 
1=>강원도
2=>경기도
3=>경상남도
4=>경상북도
5=>광주광역시
6=>대구광역시
7=>대전광역시
8=>부산광역시
9=>서울특별시
10=>울산광역시
11=>인천광역시
12=>전라남도
13=>전라북도
14=>제주특별자치도
15=>충청남도
16=>충청북도

출처 : http://www.cyworld.com/bomnarain/9362777

'프로그래밍 > PHP' 카테고리의 다른 글

[PHP] 특정문자 제거.  (0) 2014.05.14
[PHP] XML 다루기 - XML Parser  (0) 2012.07.25
[PHP] XML 다루기 - XMLReader  (0) 2012.07.24
[PHP] intval()함수  (0) 2011.11.08
[PHP] str_pad 공간 채워넣기.  (0) 2011.07.25
[PHP] 쿠키(cookie)  (0) 2011.07.22
소스를 보다가 intval()함수가 나와서 찾던중 이녀석이 하는 일이 정확이 뭔지 찾은것은 모든것을 정수로 만들어 준다는 것이다.

<?php
echo "intval(42) = ".intval(42)."<br>";
echo "intval(4.2) = ".intval(4.2)."<br>";
echo "intval('42') = ".intval('42')."<br>";
echo "intval('+42') = ".intval('+42')."<br>";
echo "intval('-42') = ".intval('-42')."<br>";
echo "intval(042) = ".intval(042)."<br>";
echo "intval('042') = ".intval('042')."<br>";
echo "intval(1e10) = ".intval(1e10)."<br>";
echo "intval('1e10') = ".intval('1e10')."<br>";
echo "intval(0x1A) = ".intval(0x1A)."<br>";
echo "intval(42000000) = ".intval(42000000)."<br>";
echo "intval(420000000000000000000) = ".intval(420000000000000000000)."<br>";
echo "intval('420000000000000000000') = ".intval('420000000000000000000')."<br>";
echo "intval(42, 8) = ".intval(42, 8)."<br>";
echo "intval('42', 8) = ".intval('42', 8)."<br>";
?>
이렇게 할경우 하단과 같은 결과를 보여준다.

intval(42) = 42
intval(4.2) = 4
intval('42') = 42
intval('+42') = 42
intval('-42') = -42
intval(042) = 34
intval('042') = 42
intval(1e10) = 1410065408
intval('1e10') = 1
intval(0x1A) = 26
intval(42000000) = 42000000
intval(420000000000000000000) = 0
intval('420000000000000000000') = 2147483647
intval(42, 8) = 42
intval('42', 8) = 34

ㅋㅋ 잊지 말자. 

'프로그래밍 > PHP' 카테고리의 다른 글

[PHP] XML 다루기 - XML Parser  (0) 2012.07.25
[PHP] XML 다루기 - XMLReader  (0) 2012.07.24
[PHP] intval()함수  (0) 2011.11.08
[PHP] str_pad 공간 채워넣기.  (0) 2011.07.25
[PHP] 쿠키(cookie)  (0) 2011.07.22
[PHP] date()함수 날짜 계산  (0) 2010.11.11
오늘 작업중. 특정 문자를 특정 길이보다 짧을경우 넣는 작업을 했다.
함수를 찾던중 str_pad를 찾았는데 사용방법은 하단에 간단히 남겨야겠다.

str_pad(데이터, 문자의 총길이, 채워넣을 문자, 위치);
str_pad(데이터, 문자의 총길이, 채워넣을 문자);
위와같은 형식이다. 위치는 넣어도 되고 안넣어도 상관없다.
 

ex)
$customer_number = 'XXXX';
$customer_number = str_pad($
customer_number , 7, '0', STR_PAD_LEFT);
=> 000XXXX
$customer_number = str_pad($customer_number , 7, '0', STR_PAD_LEFT);
=> 0XXXX00
$customer_number = str_pad($customer_number , 7, '0', STR_PAD_RIGHT); 
$customer_number = str_pad($customer_number , 7, '0');  
=> XXXX000


예제는 위와 같다.
잊지 말자. 항상 처음과같은 마음으로 정리하고 공부하자~
홧팅~! 

'프로그래밍 > PHP' 카테고리의 다른 글

[PHP] XML 다루기 - XMLReader  (0) 2012.07.24
[PHP] intval()함수  (0) 2011.11.08
[PHP] str_pad 공간 채워넣기.  (0) 2011.07.25
[PHP] 쿠키(cookie)  (0) 2011.07.22
[PHP] date()함수 날짜 계산  (0) 2010.11.11
[PHP] 파일업로드  (0) 2010.08.27
오늘 회사에서 일을 하다가.
요청이왔다. 팝업을 순차적으로 롤링을 해달라고..
뭘로 할까 하다가 역시 쿠키가 제격이겠다 싶어서.. 사용을 했다. ㅋ

setcookie(함수명,값,시간);
이렇게 해서 쿠키를 생성해서.

$_COOKIE["함수명"];
으로 받아서 확인을 한다음 팝업의 순번을 돌리도록 만들었다. ㅎㅎ


ex)
$event = $_COOKIE["event"];

if ( $event == '' || $event == 0 ) {
$event = 2;
setcookie('event',$event,0);
} else {
$event = $event + 1;
if ( $event >= 4 ) {
setcookie('event','0',0);
} else {
setcookie('event',$event,0);
}
}

'프로그래밍 > PHP' 카테고리의 다른 글

[PHP] intval()함수  (0) 2011.11.08
[PHP] str_pad 공간 채워넣기.  (0) 2011.07.25
[PHP] 쿠키(cookie)  (0) 2011.07.22
[PHP] date()함수 날짜 계산  (0) 2010.11.11
[PHP] 파일업로드  (0) 2010.08.27
[PHP] 소수점 계산  (0) 2010.08.12

아.. 날짜를 계산하던중.. 

몇일후.. 이부분을 처리를 못해서.. 눈물을 흘렸다.. ㅋ(5분간 미친듯이 찾았다. 급해서)
헌데.. 의외의 곳에서 발견을 해버렸당.. ㅋㅋ

$now_ymd = date('Y.m.d');
$end_ymd1 = date("Y.m.d", strtotime(date("Y-m-d")." +7 days"));
$end_ymd2 = date("Y.m.d", strtotime(date("Y-m-d")." +2 month"));
매달 1일이나 특정 날짜로 하고 싶다면..
ex) 20일로 date("Y.m.d", strtotime(date("Y-m-20")." +2 month"));

이렇게 하면은 날짜들이 계산이 된다.

$now_ymd = 2010.11.11
$end_ymd1 = 2010.11.18
$end_ymd2 = 2011.01.11
이렇게 출력이 된다. ㅋ

즐거운 발견이다.. 

php 파일업로드

오늘은 php 파일업로드에 관해서 쓰려한다.
사실 본인이.. 가끔 만들때 깜빡깜빡해서 참고하려는 자료이다. ㅎㅎ

자.. 일단 첫 html에서 확인해야될 사항.
form 속성에 enctype="multipart/form-data" <-- 이것이다. 이거 빼먹으면 오류난다.
<form name='frm1' method='post' enctype="multipart/form-data" action='xxx.php'>
잊지 말자.
그리고 다중 업로드와 단일 업로드가 있지만.스크립트로 만들어주면 그리 크게 힘들지는 않을것이다.(사실 스크립트가 더 어려운거 같다.. ㅠ_ㅠ)
나중에 스크립트는 따로 올리겠다..

자.. 이제 우리에게 가장 익숙한 html 테그이다.
input 태크 type='file' 를 하면 다른 사이트에서 업로드 할때 보이던것과 매우 흡사하다. ㅋ(아닐수도 있구요.. 방법이 워낙많아서..)
일단 기본으로 가는것이 가장 하기 편하겠다.
<input name='f_0' type='file'> 보기 않좋아도 어쩔수 없다.. ㅠㅠ 그리고 크기는 style속성으로 줄수 있다. ex) style='width:300px;'

이렇게 입력을 하고 php로 넘어가겠다.(솔찍히 너무 잡다한 말을 쓰네요.. -_-;;)

php에서 넘겨준 f_0값을 받자.
$f_0 <-- 이렇게만 해도 받는다.
일단 파일이 들어온 유무를 확인하자.
if ($f_0!=""){}
위와같이 하면 f_0값이 null이 아니면 if구문 안에 있는 구문을 실행을 할것이다.
자 그리고 우리가 해야될것은 php에 있는 함수로 확인을 하는 작업이다. 다들 알고 있는 함수일것이다.
is_uploaded_file($f_0) 이렇게하면 파일이 HTTP POST를 통해 업로드 된것인지 아닌지 알려줍니다. 사실인경우 TRUE 그리고 파일의 존제유무. file_exists()로 동일한 명의 파일이 있는지 확인후 있다면 현제 파일의 파일명을 변경시켜줍니다.

그리고 파일의 명과 사이즈가져오는것을 잊었네요.
$userfile_name=$_FILES['f_0']['name'];
$userfile_size=$_FILES['f_0']['size'];

이렇게 하면 파일명과 사이즈를 가져올수 있습니다.
그리고 중간은 과감히 빼겠습니다.

move_uploaded_file() 이녀석이 이제 파일을 실제로 디스크에 써주는 녀석입니다. move_uploaded_file($f_0,'경로포함된 파일명') 이렇게 해주면 파일이 업로드가 됩니다.
되도록이면 보여주는것이 좋으니 if(!move_uploaded_file()){} 해주는것이 좋겠지요.


ex)
php_upload.html
<html>
<body>
<form name='frm1' method='post' enctype="multipart/form-data" action='php_upload.php'>
<input name='f_0' type='file'>
</form>
</body>
</html>

php_upload.php
//파일업로드
if($f_0!=""){
  if(is_uploaded_file($f_0)){
    if($Files[0]!=""){
     if(file_exists("경로".$Files[0])) {
        @unlink("경로".$Files[0]);// 여기서는 귀찮아서 지움.
      }  
    }
   $userfile_name=$_FILES['f_0']['name'];
   $userfile_size=$_FILES['f_0']['size'];

   $maxsize=3*1024*1024;//3MB 용량 제한

    if($userfile_size>=$maxsize){
      echo "<script>alert('파일용량이 초과되었습니다.'); history.back(-1);</script>"; 
      exit;
    }
    $upfile =explode(".",$userfile_name);
    $fname=str_replace('/','',$upfile[0]);
    $file_name=$fname."_".$number.".".$upfile[1];

    if (!move_uploaded_file($f_0,"경로/$file_name" )) {
      echo("<script>alert('파일업로드를 실패하였습니다');history.go(-1);</script>");
      exit;
    }
} else {
    echo "<script>alert('정상적인 업로드 방식이 아닙니다');history.go(-1);</script>";
    exit; 
 }

'프로그래밍 > PHP' 카테고리의 다른 글

[PHP] 쿠키(cookie)  (0) 2011.07.22
[PHP] date()함수 날짜 계산  (0) 2010.11.11
[PHP] 파일업로드  (0) 2010.08.27
[PHP] 소수점 계산  (0) 2010.08.12
[PHP] 문자를 특정 위치로 부터 일정 길이까지 자르기. substr()  (0) 2010.08.06
PHP 문자열 자르기  (0) 2010.07.12

+ Recent posts