반응형

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

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
반응형
오늘 작업중. 특정 문자를 특정 길이보다 짧을경우 넣는 작업을 했다.
함수를 찾던중 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
반응형
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; 
 }
반응형
반응형
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