скрипт сервиса коротких урлов

Discussion in 'PHP' started by justonline, 16 Sep 2011.

  1. justonline

    justonline network ninja

    Joined:
    27 Jul 2011
    Messages:
    499
    Likes Received:
    60
    Reputations:
    53
    собственно сабж. есть полноценный скрипт сервиса?
     
  2. sova1611

    sova1611 New Member

    Joined:
    10 Jan 2009
    Messages:
    30
    Likes Received:
    3
    Reputations:
    0
    гугл рулит http://webmasterblog.com.ua/veb-programmirovanie/sozdayom-servis-korotkix-ssylok
     
  3. skrutcher

    skrutcher New Member

    Joined:
    17 Jul 2011
    Messages:
    17
    Likes Received:
    1
    Reputations:
    0
    на коленке кодил
    Code:
    <?
    #connect
    ///
    if(!empty($_GET['a'])){
      $url=mysql_real_escape_string($_GET['a']);
      $query=mysql_query("SELECT * FROM `urls` where `url`='$url'");
      if(mysql_num_rows($query)==1){
        while($row=mysql_fetch_array($query)){
          $url_real=$row['url_real'];
        }
        header("location: http://site.ru/$url_real"):
      } else {
        header("location: http://site.ru");
      }
    }
    ?>
    <form action="" method="post">
    Url:<input type="text" name="url"><br>
    <button>ok</button>
    </form>
    <?
      function create_url()
      {
        $arr = array('a','b','c','d','e','f',
                     'g','h','i','j','k','l',
                     'm','n','o','p','r','s',
                     't','u','v','w','x','y',
                     'z','A','B','C','D','E',
                     'G','H','I','J','K','L',
                     'M','N','O','P','R','S',
                     'T','U','V','W','X','Y',
                     'Z','F','1','2','3','4',
                     '5','6','7','8','9','0');
        $url = "";
        for($i = 0; $i < 6; $i++)
        {
          $random = rand(0, count($arr) - 1);
          $url .= $arr[$random];
        }
        return $url;
      }
    if(isset($_POST['url'])){
      do {
          $url_random=create_url();
          $q=mysql_query("SELECT * FROM `url` where `url`='$url_random'");
         } 
         while(mysql_num_rows($q)>0)
      $url_real=mysql_real_escape_string(htmlspecialchars($_POST['url']));
      $query=mysql_query("SELECT * FROM `urls` where `url_real`='$url_real'");
      if(mysql_num_rows($query)==0){
        mysql_query("INSERT INTO `urls`(url,url_real) VALUES('$url_random','$url_real')");
        echo 'site.ru/'.$url_random;
      } else {
        while($row=mysql_fetch_array($query)){
          $url=$row['url'];
        }
        echo 'http://site.ru/'.$url;
      }
    }
    # (c) xhugo
    ?>
    htaccess:
    RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?a=$1
    
     
  4. waik

    waik Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    405
    Likes Received:
    163
    Reputations:
    12
    #4 waik, 16 Sep 2011
    Last edited: 16 Sep 2011