Advertisement
konyakov

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

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