Advertisement
konyakov

add.php | Укоротитель URL | КОНЬЯКОВ.ру

Dec 16th, 2011
710
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.58 KB | None | 0 0
  1. <?php ob_start();?>
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta charset="utf-8" />
  6. <title>Укоротитель URL | КОНЬЯКОВ.ру</title>
  7. </head>
  8. <body>
  9. <h1><a href="/pubs/">КОНЬЯКОВ.ру</a> | Укоротитель URL</h1>
  10.  
  11. <?php
  12. /*путь до текстовой БД*/
  13. $file = 'urlShortening-sKqoMz9-dB_UYexQJxga.txt';
  14.  
  15. /*Использовать mod_rewrite? 0 - нет, 1 - да*/
  16. $use_rewrite = 1;
  17.  
  18. /*языковые переменные*/
  19. $l_url          = 'URL';
  20. $l_nourl        = '<strong>Введен пустой URL!</strong>';
  21. $l_yoururl      = '<strong>Ваша короткий URL:</strong>';
  22. $l_invalidurl   = '<strong>Некорректный URL!</strong>';
  23. $l_createurl    = 'Укоротить ссылку!';
  24.  
  25. if(!is_writable($file) || !is_readable($file)) {
  26.     die('Не могу записать или прочитать БД. Пожалуйста, поменяйте CHMOD текстовой БД на 777 или 775 и повторите попытку!');
  27. }
  28.  
  29. $action = trim($_GET['id']);
  30. $action = (empty($action) || $action == '') ? 'create' : 'redirect';
  31.  
  32. $valid = "^(https?|ftp)\:\/\/([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)*(\:[0-9]{2,5})?(\/([a-z0-9+\$_-]\.?)+)*\/?(\?[a-z+&\$_.-][a-z0-9;:@/&%=+\$_.-]*)?(#[a-z_.-][a-z0-9+\$_.-]*)?\$";
  33.  
  34. $output = '';
  35.  
  36. if($action == 'create') {
  37.     if(isset($_POST['create'])) {
  38.         $url = trim($_POST['url']);
  39.        
  40.         if($url == '') {
  41.             $output = $l_nourl;
  42.         } else {
  43.             if(eregi($valid, $url)) {
  44.                 $fp = fopen($file, 'a');
  45.                 fwrite($fp, "{$url}\r\n");
  46.                 fclose($fp);
  47.                
  48.                 $id         = count(file($file));
  49.                 $dir        = dirname($_SERVER['PHP_SELF']);
  50.                 $filename   = explode('/', $_SERVER['PHP_SELF']);
  51.                 $filename   = $filename[(count($filename) - 1)];
  52.                
  53.                 $shorturl = ($use_rewrite == 1) ? "http://{$_SERVER['HTTP_HOST']}{$dir}/{$id}" : "http://{$_SERVER['HTTP_HOST']}{$dir}/{$filename}?id={$id}";
  54.                
  55.                 $output = "{$l_yoururl} <a href='{$shorturl}'>{$shorturl}</a>";
  56.             } else {
  57.                 $output = $l_invalidurl;
  58.             }
  59.         }
  60.     }
  61. }
  62.  
  63. if($action == 'redirect') {
  64.     $urls = file($file);
  65.     $id   = trim($_GET['id']) - 1;
  66.     if(isset($urls[$id])) {
  67.         header("Location: {$urls[$id]}");
  68.         exit;
  69.     } else {
  70.         die('Ошибка скрипта!');
  71.     }
  72. }
  73. ?>
  74. <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  75. <p class="response"><?=$output?></p>
  76. <p>
  77. <label for="s-url">URL:</label>
  78. <input id="s-url" type="text" name="url" />
  79. </p>
  80. <p><input type="submit" class="button" name="create" value="<?=$l_createurl?>" /></p>
  81. </form>
  82.  
  83. </body>
  84. </html>
  85. <?php ob_end_flush(); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement