단축 URL은 알고리즘이 매우 쉬운 편에 속해 기업뿐 아니라 개인도 쉽게 사이트를 구축할 수 있습니다. 여기서 .TK 도메인을 이용해 무료로 구축할 수 있는 방법을 소개합니다.

미리보기 : http://zudy.info/shortener.php

먼저 http://freenom.com 에 접속해서 상단의 메뉴 Partner > Developers 를 선택합니다.

중간 쯤 스크롤하면 아래 그림이 나오는데, 초록 버튼을 클릭해서 구매를 진행합니다. 구매 요금은 0원이므로 따로 청구되는 비용은 없습니다.

이미 회원가입한 이력이 있으면 로그인을 진행하고, 처음 사용자이면 사용 가능한 이메일을 입력하고 이메일 인증을 진행합니다.

구매가 정상적으로 진행되었는지 확인하기 위해 로그인을 진행합니다. Hello ... > My Invoices 를 선택합니다.

My Invoice 를 선택하면 구매한 내용이 나옵니다. 당연히 0원이라고 되어 있겠죠

이로써 단축 URL를 사용하기 위한 모든 준비는 완료되었습니다.

<?php

 // FREENOM 로그인 이메일, 비밀번호
 $login_email = '';
 $login_password = '';

 // 단축할 URL
 $short_val = 'http://daum.net';
 if(!empty($short_val))
 {
$url = "https://api.freenom.com/v2/domain/register.xml";
$post = array(
'forward_url' => $short_val,
'email' => $login_email,
'password' => $login_password
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post );
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resource = curl_exec($curl);
curl_close ($curl);

$object = simplexml_load_string(
     $resource, 'SimpleXMLElement', LIBXML_NOCDATA
);

$result = (array)$object;
// print_r($result);
 }
 if(strtoupper($result['freenom']['status']) === 'OK')
 {
echo 'http://' . $result['freenom']['domain']['domainname'];
 }
 else
 {
if(!$result['freenom']['error'])
{
$result['freenom']['error'] = '원인을 알 수 없는 오류 발생.';
}
echo $result['freenom']['error'];
 }
 ?>

.TK 단축 URL를 이용하면 즉시 5글자 내의 도메인을 만들어 사용자에게 제공해 줄 수 있습니다.

랜덤으로 만들어진 도메인을 확인하려면 Services > My Domain 에서 확인할 수 있습니다. 


신고

순서 없는 재귀적 파일(또는 폴더) 목록을 배열로 저장하는 사용자 함수입니다.

Categories_Tree_File( directory, f );


directory 인수: 배열로 저장할 폴더 이름

f 인수: 임의의 값을 지정하면 파일을 배열로 저장합니다.

; 반환 값: 재귀적 파일(또는 폴더) 배열 목록

; key 값 끝에 / 가 붙으면 폴더를 의미하고,
      숫자 key 이면 value 값에 파일 이름을 저장합니다.
; count 변수에 파일 개수가 저장됩니다.


 <?php
function Categories_Tree_File($directory$f null)
{
    
$raw = array();     $directory preg_replace(array("@[\.]+@""@[/]+@", ),  array(".""/"), $directory);     if(substr($directory, -1) === '/')     {         $directory substr($directory0, -1);     }     if(is_dir($directory))     {         $count 1;         clearstatcache();         foreach(@scandir($directory) as $node)         {             if( ($node !== ".") && ($node !== "..") )             {                 if(is_file($directory '/' $node))                 {                     clearstatcache();                     if($f)                     {                         $raw[] = rawurlencode($node);                    }                     $raw['count'] = $count++;
                    continue;                 }                 
$raw[rawurlencode($node) . '/'] =  Categories_Tree_File($directory '/' $node$f);             }         }     }     return $raw; } /*     ex.)     $atr = Categories_Tree_File( './example', true );     print_r($atr);     결과 :     Array     (         [0] => README.txt         [1] => add.htm         [2] => add_dir.htm         [3] => bbs_mysql         [4] => bbsdir_mysql         [count] => 5         [file/] => Array             (                 [5/] => Array                     (                         [0] => addfind.gif                         [count] => 1                     )                 [8/] => Array                     (                         [0] => write.gif                         [count] => 1                     )             )        } */ ?>

신고

◀ PREV : [1] : [2] : [3] : [4] : [5] : [6] : [7] : [8] : [9] : ... [310] : NEXT ▶