반응형

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

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' 카테고리의 다른 글

CentOS7에 Composer로 CodeIgniter4 설치  (2) 2021.01.15
[PHP] intval 정수반환  (0) 2016.01.25
[PHP] 특정문자 제거.  (0) 2014.05.14
[PHP] XML 다루기 - XML Parser  (0) 2012.07.25
[PHP] XML 다루기 - XMLReader  (0) 2012.07.24
반응형

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


특정문자 제거 함수..


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] 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 다루기 - 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] intval()함수  (0) 2011.11.08
[PHP] str_pad 공간 채워넣기.  (0) 2011.07.25
[PHP] 쿠키(cookie)  (0) 2011.07.22
반응형
오늘 작업중. 특정 문자를 특정 길이보다 짧을경우 넣는 작업을 했다.
함수를 찾던중 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] 쿠키(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] date()함수 날짜 계산  (0) 2010.11.11
[PHP] 파일업로드  (0) 2010.08.27
[PHP] 소수점 계산  (0) 2010.08.12
반응형

음.. 소수점을 남기고 계산하는것이 아니라. 소수점 이하 올림 반올림 내림 3가지 함수를 설명해놓을것이다.

1. ceil() - 소수점 이하 올림

2. round() - 소수점 이하 반올림

3. floor() - 소수점 이하 내림

이렇게 3개의 함수가 있다.

ex)

$crf1 = 12.0001;
$crf2 = 12.4999;
$crf3 = 12.5999;
$crf4 = 12.9001;

ceil($crf1); -> 13 이된다.
round($crf2); -> 12가 된다.
round($crf3); -> 13가 된다.
floor($crf4); -> 12가 된다.

위에 보는바와 같이 올림일경우 소수점에 값이 있을경우 무조건 값을 올리고, 내림일경우 소수점 이하 삭제를 한다.
그리고 반올림일경우는 소수점 이하 한자리만 가지고 판단을 한다. 이점을 유념해야겠다.

반응형

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

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

PHP에 substr() 이라는 함수가 있다.

이녀석을 사용해서 어떠한 식으로 뽑히는지 아래 예제를 보도록 하자.

$test='12345678';

$tview = substr($test,0,3);

echo " tview = ".$tview;

위와같이 할경우 1부터 3개 즉 123이찍히게 됩니다.

즉 test의 값 '12345678'의 위치값은 0~7 입니다.

만약 78만 보이게하고 싶다하시면.

substr($test,6,2); 이렇게 입력을 하시면 됩니다.

반응형

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

[PHP] date()함수 날짜 계산  (0) 2010.11.11
[PHP] 파일업로드  (0) 2010.08.27
[PHP] 소수점 계산  (0) 2010.08.12
PHP 문자열 자르기  (0) 2010.07.12
문자 자르기.  (0) 2010.07.12
반응형
function Shorten_String($String, $MaxLen, $ShortenStr) {
/*
2 바이트 문자를 깨끗하게 잘라주는 함수
인자로는 자를 문자열($String), 최대 길이($MaxLen),
말줄임표(보통 ... 을 사용)($ShortenStr)를 받는다.
원리는 문자열의 처음부터시작하여 이것이 2바이트문자이면(127보다크면)
자를 문자열의 길이를 2를 증가시키고 그렇지않으면 1을 증가시킨다.
이렇게 하여 마지막에 원래의 문자열에서 자를 문자열의 길이만큼을
시작점(0)에서 잘라주면 된다.
*/
$StringLen = strlen($String); // 원래 문자열의 길이를 구함
$EffectLen = $MaxLen - strlen($ShortenStr);
// 최대문자열의 길이에서 말줄임표문자열의 길이를 뺀다
if ( $StringLen < $MaxLen )return $String;
// 원래문자열의 길이가 최대문자열의 길이보다 작으면 그냥 리턴한다.

for ($i = 0; $i <= $EffectLen; $i++) {
$LastStr = substr($String, $i, 1);
if ( ord($LastStr) > 127 ) $i++;
// 2바이트문자라고 생각되면 $i를 1을 더 증가시켜
// 결국은 2가 증가하게 된다.
// 다음에 오는 1바이트는 당연 지금 바이트의 문자에 귀속되는 문자이다.
}
$RetStr = substr($String, 0, $i);
// 위에서 구한 문자열의 길이만큼으로 자른다.
return $RetStr .= $ShortenStr;
// 여기에 말줄임문자를 붙여서 리턴해준다.
}

$str=Shorten_String($str,16,'...');


반응형

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

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

substr과 strpos를 사용하여 간단하게 원하는 문자를 기준으로 잘라 낼 수 있습니다.


$str = "동해물과 백수산이 마르고 닳도록...";

$slide_str = " "; // 잘라낼 문자열 또는 기호

$f_pos = strpos($str, $slide_str); // $slide_str에 있는 문자 또는 기호가 나타나는 첫번째 위치를 구합니다.

$a = substr($str, 0, $f_pos); // $str의 첫문자부터 strpos로 찾은 위치까지 잘라서 $a에 집어넣습니다.

$b = substr($str, $f_pos); // 찾은 위치 이후 부터 남은 문자열을 $b에 집어넣습니다.


echo $a."<br />";

echo $b;


반응형

+ Recent posts