Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php ob_start();?>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title>Укоротитель URL | КОНЬЯКОВ.ру</title>
- </head>
- <body>
- <h1><a href="/pubs/">КОНЬЯКОВ.ру</a> | Укоротитель URL</h1>
- <?php
- /*путь до текстовой БД*/
- $file = 'urlShortening-sKqoMz9-dB_UYexQJxga.txt';
- /*Использовать mod_rewrite? 0 - нет, 1 - да*/
- $use_rewrite = 1;
- /*языковые переменные*/
- $l_url = 'URL';
- $l_nourl = '<strong>Введен пустой URL!</strong>';
- $l_yoururl = '<strong>Ваша короткий URL:</strong>';
- $l_invalidurl = '<strong>Некорректный URL!</strong>';
- $l_createurl = 'Укоротить ссылку!';
- if(!is_writable($file) || !is_readable($file)) {
- die('Не могу записать или прочитать БД. Пожалуйста, поменяйте CHMOD текстовой БД на 777 или 775 и повторите попытку!');
- }
- $action = trim($_GET['id']);
- $action = (empty($action) || $action == '') ? 'create' : 'redirect';
- $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+\$_.-]*)?\$";
- $output = '';
- if($action == 'create') {
- if(isset($_POST['create'])) {
- $url = trim($_POST['url']);
- if($url == '') {
- $output = $l_nourl;
- } else {
- if(eregi($valid, $url)) {
- $fp = fopen($file, 'a');
- fwrite($fp, "{$url}\r\n");
- fclose($fp);
- $id = count(file($file));
- $dir = dirname($_SERVER['PHP_SELF']);
- $filename = explode('/', $_SERVER['PHP_SELF']);
- $filename = $filename[(count($filename) - 1)];
- $shorturl = ($use_rewrite == 1) ? "http://{$_SERVER['HTTP_HOST']}{$dir}/{$id}" : "http://{$_SERVER['HTTP_HOST']}{$dir}/{$filename}?id={$id}";
- $output = "{$l_yoururl} <a href='{$shorturl}'>{$shorturl}</a>";
- } else {
- $output = $l_invalidurl;
- }
- }
- }
- }
- if($action == 'redirect') {
- $urls = file($file);
- $id = trim($_GET['id']) - 1;
- if(isset($urls[$id])) {
- header("Location: {$urls[$id]}");
- exit;
- } else {
- die('Ошибка скрипта!');
- }
- }
- ?>
- <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
- <p class="response"><?=$output?></p>
- <p>
- <label for="s-url">URL:</label>
- <input id="s-url" type="text" name="url" />
- </p>
- <p><input type="submit" class="button" name="create" value="<?=$l_createurl?>" /></p>
- </form>
- </body>
- </html>
- <?php ob_end_flush(); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement