Skip to content

Creating your own Url shortener.

Good Night,

Here I will show you how to create your own url shortener.

First of all you need to create a table like this:

CREATE TABLE IF NOT EXISTS `urls` (
`uid` int(11) NOT NULL auto_increment,
`url` text default NULL,
`unique_chars` varchar(25) BINARY NOT NULL,
PRIMARY KEY (`uid`),
UNIQUE KEY `unique_chars` (`unique_chars`)
);

This code was taken from Abhise in this post “Create your own tinyurl with php and mySQL” that was my bigest reference, from it I took some functions and update other ones to be more efficient. For an example I changed the field to BINARY so it be CASE SENSITIVE (aaaa different from AAAA)

The Abhise says to create many files, I particularly, created one file with all functions where I add all the functions and just called the functions in the files.

We need a fucntion to connect/disconnect to mysql

error_reporting(E_ALL);
$link;
$config;
function connect_db_lurl() {
global $link;
global $config;
$hostname = “localhost”;
$username = “USUARIO”;
$password = “SENHA”;
$dbname = “DATABASE”;
$link = mysql_connect($hostname, $username, $password); // Conecta ao mysql.
mysql_select_db($dbname) or die(“Unknown database!”); // Seleciona o Banco de dados.
$config[“domain”] = “http://seudominio.com”; // Define a configuração da URL inicial
}

function close_db_lurl() {
mysql_close(); // Fecha a conexão com o banco de dados
}

After this I created a function to redirect to the URL.

function redirect($url) {
header(“Location:”.$url); // Redireciona para a url.
}

Than I used the function from Abhise to generate the char sequence. (I add some chars to elevate the number of combinations

function generate_chars() {
$num_chars = 6; // Tamanho que você deseja as strings
$i = 0;
$my_keys = “123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”; // Caracteres que valem para formação de endereço
$keys_length = strlen($my_keys);
$url = “”;
while($i<$num_chars) { // Gera sequencia aleatoria $rand_num = mt_rand(1, $keys_length-1); $url .= $my_keys[$rand_num]; $i++; } return $url; }

Created a function to verify if the key is unique.

function isUnique($chars) {
global $link;
$q = “SELECT * FROM `urls` WHERE `unique_chars`='”.$chars.”‘”;
$r = mysql_query($q, $link); // Verifica se a chave é unica.
if( mysql_num_rows($r)>0 ) {
return false;
} else {
return true;
}
}

And other to verify if the URL is in DB

function isThere($url) {
global $link;
$q = “SELECT * FROM `urls` WHERE `url`='”.$url.”‘”;
$r = mysql_query($q); // Verifica se já existe a url
if(mysql_num_rows($r)>0) {
return true;
} else {
return false;
}
}

Function to create

function create() {
global $link;
global $config;
$chars = generate_chars(); // Gera sequencia de caracteres.

while(!isUnique($chars)){ // Verifica se é unico, se não for gera denovo.
$chars = generate_chars();
}

$url = $_GET[“u”]; // Pega o endereço que está em ?u=endereço
$url = trim($url); // Retira espaços em branco do inicio e do fim
$url = mysql_real_escape_string($url);

if(!isThere($url)) { // Caso não exista o endereço no banco.
$q = “INSERT INTO `urls` (url, unique_chars) VALUES (‘”.$url.”‘, ‘”.$chars.”‘)”;
$r = mysql_query($q, $link); // Insere o endereço
if(mysql_affected_rows()) {
$q = “SELECT * FROM `urls` WHERE `url`='”.$url.”‘”;
$r = mysql_query($q);
$row = mysql_fetch_row($r);
echo $config[“domain”].”/”.$row[2]; // Imprime endereço para acesso da nova url
} else {
echo “Desculpe, problemas com o banco de dados.”;
}
} else { // Caso já exista
$q = “SELECT * FROM `urls` WHERE `url` = ‘”.$url.”‘”;
$r = mysql_query($q); // Seleciona endereço para URL
$row = mysql_fetch_row($r);
echo $config[“domain”].”/”.$row[2]; // Imprime endereço para acesso da url.
}
}

Looking to the code I thought to create a function to get the url.

function take_lurl($lurl) {
global $link;
$q = “SELECT url FROM `urls` WHERE `unique_chars` = ‘”.$lurl.”‘”;
$r = mysql_query($q, $link); // Pega endereço original para tal string.
if(mysql_num_rows($r)>0) {
$info = mysql_fetch_array($r);
$url = $info[“url”];
} else {
echo “Sorry, link not found!”;
}
return $url;
}

Created the file “functions-little-url.php” with these functions.

index.php:

create.php:

We need to add some lines do .htaccess and enable mod_rewrite.


RewriteEngine On
RewriteRule ^([1-9a-zA-Z]*)$ index.php\?u=$1 [L]

I did this in my system that uses wordpress (that already uses mod_rewrite) so it work a little bit different. This is my .htaccess


RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f # Verifica se a página acessada não é um arquivo real
RewriteCond %{REQUEST_FILENAME} !-d# Verifica se a página acessada não é um diretório
RewriteRule ^([A-Za-z0-9]{6})$ /lurl/index.php?u=$1 [L] # Caso coincida com a expressão regular redirecione para /lurl/index.php?u=$1 onde /lurl/ é o diretório que está os meus arquivos de tiny-url e [L] indica que é a ultima instrução a ser executada.

# Caso não feche com a parte em cima continua nas regras “padrões” do WordPress
RewriteCond %{REQUEST_FILENAME} !-f # Verifica se a página acessada não é um arquivo real
RewriteCond %{REQUEST_FILENAME} !-d# Verifica se a página acessada não é um diretório
RewriteRule . /index.php [L]

(my URL shortener is inside /lurl/ directory but the redirect was done in matbra.com/XXXXXXX so it redirects to /lurl/

To create URLs acess create.php?u=ADDRESS

URL-Shortener

If you have any problem feel free to contact me.

Best Regards,
Matheus Bratfisch

References:
—- “Tiny Url”:
www.php.net
Wynia.org
htmlCenter
—- “Mod Rewrite”:
Apache Mod Rewrite

Published inAprendendoMySQLphp

731 Comments

  1. StephenIncit StephenIncit

    Этот документ охватывает важные аспекты медицинской науки, сосредотачиваясь на ключевых вопросах, касающихся здоровья населения. Мы рассматриваем свежие исследования, клинические рекомендации и лучшие практики, которые помогут улучшить качество лечения и профилактики заболеваний. Читатели получат возможность углубиться в различные медицинские дисциплины.
    Жми сюда — получишь ответ – https://vyezd-narkologa.ru/service/alkogolizm

  2. Matthewfum Matthewfum

    Запой отличается от разового употребления алкоголя тем, что больной продолжает пить несколько дней подряд и использует новые дозы спиртного для временного облегчения похмелья. Со временем такая схема усиливает алкогольную зависимость. Чем дольше продолжается запой, тем выше вероятность тяжелого абстинентного синдрома и тем чаще требуется помощь врача.
    Получить больше информации – https://n.vivod-iz-zapoya-v-sankt-peterburge16.ru/

  3. Matthewfum Matthewfum

    Выраженность жалоб зависит от стадии алкоголизма, продолжительности употребления, общего состояния пациента и сопутствующих болезней. У одного больного преобладают тремор и бессонница, у другого возникают рвота, боли, перепады давления или нарушения психики. Врач оценивает совокупность проявлений и выбирает лечение индивидуально.
    Получить больше информации – вывод из запоя на дому недорого

  4. Relocating — always something. Had my turn at this not too far back, and between us, a serious undertaking. Figure you’ll knock it out, then you see what you actually own. A relative had good luck with Z, but I wanted something solid. Anyway: when you’re seeking movers in nevada, do yourself a favor. Think about it: nevada operators know the area inside out — particularly with awkward furniture. The way I went about it — scoured feedback online — and no exaggeration here, I dodged plenty of headaches. This is worth a peek that finally helped me connect the dots. movers in nevada movers in nevada That page over there had it neatly organized. No beating around the bush — completely open. I actually booked through it and they were on point. So take your time. Ask about licensing. The right service turns chaos into calm. Hope this points you in a good direction!

  5. Matthewfum Matthewfum

    Резко прекратить длительное употребление алкоголя без контроля врача бывает сложно. При алкоголизме нервная система привыкает к постоянному действию этанола, поэтому после прекращения приема спиртного может развиться выраженная абстиненция. Лечение направлено на снижение тяжести этого периода, коррекцию водно-электролитного баланса, защиту внутренних органов и нормализацию самочувствия.
    Подробнее – вывод из запоя на дому недорого в Санкт-Петербурге

  6. StephenIncit StephenIncit

    Этот обзор посвящен успешным стратегиям избавления от зависимости, включая реальные примеры и советы. Мы разоблачим мифы и предоставим читателям достоверную информацию о различных подходах. Получите опыт многообразия методов и найдите подходящий способ для себя!
    Личный опыт — читайте сами – https://vyezd-narkologa.ru/service/vyvod-iz-zapoya/kapelnitsa-ot-pohmelya

  7. StephenIncit StephenIncit

    В этой статье мы обсудим процесс восстановления после зависимостей, акцентируя внимание на различных методах и подходах к реабилитации. Читатели узнают, как создать план выздоровления и использовать полезные ресурсы для достижения устойчивых изменений.
    Получить дополнительные сведения – вызвать наркологическую скорую помощь

  8. Попал в беду — запой затянулся. Скорая не решает проблему — а помочь нужно прямо сейчас. Благо — нашли работающий вариант. Оказывается — выезжает нарколог. Без регистрации. Полный набор для вывода. Нормализует состояние — профессионально. И стоимость приемлемая — экономия времени и нервов. вывод из запоя цена вывод из запоя цена На сайте подробно — без выходных. Проверил на себе — без обмана. Откладывать нельзя. Огромное спасибо им. Не бойтесь обращаться. Это правильно. Всё будет хорошо!

  9. Тяжелая ситуация — человек в запое уже давно. Врачи не могут вывести — требуется серьёзное лечение. Узнали куда можно обратиться. Есть профессиональная помощь — стационарное выведение. Медицинский персонал на месте 24/7. Инфузионная терапия — без риска для здоровья. Без постановки на учёт. Условия комфортные. выведение из запоя в стационаре https://kapelnica.vyvod-iz-zapoya-v-stacionare-samara11.ru Все условия работы. Проверили на себе — помогли реально. После курса сразу легче. И что радует — с гарантией. Не тяните время. Близких нужно спасать. Кто уже не справляется дома — советую. Всё будет хорошо!

  10. Rolandvek Rolandvek

    Клиника предлагает различные варианты помощи: выведение из запоя, детоксикацию, лечение алкоголизма и наркозависимости, кодирование, снятие похмельного синдрома, психиатрическое и психологическое сопровождение. Услуги оказываются в клинике, амбулаторно и на дому. При необходимости возможна госпитализация пациента, транспортировка в стационар и дальнейшее наблюдение врача.
    Узнать больше – платная наркологическая клиника Санкт-Петербург

  11. Relocating — what a process. Just did it not so long ago, and take my word for it, it was a handful. Everybody says it’s straightforward, then you see the mountain of stuff. A buddy tried one service, but I did my own digging. Anyway: when you’re on the hunt for trustworthy local movers, don’t just pick the first name. Because: local companies handle the roads better — especially when the heat is on. My approach — requested breakdowns of costs — and no word of a lie, it was absolutely worth the effort. Here’s something handy that brought some clarity. nevada long distance movers nevada long distance movers That compilation gave me a clear starting point. You see the full picture — complete transparency. Got my move scheduled there and the team was top-notch. Do your homework. Ask about truck sizes. Decent movers are a lifesaver. Hope your move goes better than most!

  12. Williamclubs Williamclubs

    Самостоятельный выход подходит далеко не в каждом случае. При выраженной ломке, судорогах, галлюцинациях, спутанности сознания, психозах, сильной рвоте или резком ухудшении самочувствия нужно вызвать врача. Наркологическая служба может работать круглосуточно: специалист приезжает по адресу, выполняет осмотр, определяет показания к капельнице и решает, допустимо ли лечение на дому. Если ситуация требует постоянного контроля, больного рекомендуется доставить в стационар.
    Узнать больше – вывод из запоя на дому Кемерово

  13. Moving out — never a dull moment. Had my share of moves not so many months back, and I’ll be straight with you, a serious process. Start with the small stuff, then the pile just grows. Somebody mentioned one company, but I wanted the real scoop. Anyway: if you’re after trustworthy local services, don’t jump at the first option. The thing is: local nevada movers have the know-how — especially across state lines. What worked for me — scoured ratings online — and I’m completely serious, I steered clear of trouble. This one’s worth your time that helped me decide. nevada long distance movers https://movers-in-nevada-uwq.com That specific source gave me clear direction. Transparent pricing — no extra surprises. Locked everything in from that page and I’ve got zero regrets. So be thorough about it. Make sure everything’s in writing. Solid movers change the whole game. May your move go better than expected!

  14. Williamclubs Williamclubs

    Алкогольный запой разрушает физическое и психическое здоровье постепенно, но серьезные осложнения иногда развиваются очень быстро. В большинстве случаев родственники сначала пытаются уговорить близкого бросить пить самостоятельно, однако при сформированной зависимости этого оказывается недостаточно. Абстинентный синдром может усиливаться в течение первых суток, а страх, бессонница и желание снова выпить повышают вероятность продолжения запоя.
    Получить больше информации – https://a.vyvod-iz-zapoya-kemerovo18.ru/

  15. DennisThasp DennisThasp

    Наркологическая помощь в Реутове оказывается круглосуточно, включая выходные дни. После обращения специалист уточняет длительность употребления алкоголя, примерное количество спиртного, наличие хронических болезней, принимаемые препараты и текущие симптомы. Эти данные помогают предварительно оценить тяжесть ситуации и подобрать оптимальное лечение. Если человек находится в стабильном состоянии и отсутствуют показания для госпитализации, вывод из запоя может проводиться на дому. При серьезной интоксикации, психических расстройствах, сердечной недостаточности и других осложнениях более безопасным решением становится лечение в стационаре.
    Ознакомиться с деталями – vyvod-iz-zapoya

  16. Отдельного внимания требуют больные с печеночной и сердечной недостаточностью, тяжелым поражением нервной системы, паническими атаками, выраженной депрессией или агрессией. Если общее состояние резко ухудшилось, появилась спутанность сознания или человек плохо реагирует на окружающих, следует обратиться за экстренной медицинской помощью. Решение о месте лечения принимается с учетом диагноза, тяжести абстинентного синдрома и потенциального риска осложнений.
    Получить больше информации – https://3.kapelnica-ot-zapoya-moskva0.ru/

  17. TimothyMit TimothyMit

    Вывод из запоя на дому выбирают, когда медицинские условия позволяют проводить лечение без помещения больного в клинику. Наркологическая бригада может выехать в Центральный, Советский, Октябрьский, Железнодорожный, Кировский, Ленинский и Свердловский район Красноярска. Точное время прибытия зависит от адреса, дорожной ситуации и загруженности выездной службы. Основные преимущества домашнего формата — анонимность, привычная обстановка, возможность не посещать государственные учреждения и получение помощи под медицинским наблюдением.
    Изучить вопрос подробнее – вывод из запоя на дому круглосуточно

  18. JustinFlita JustinFlita

    Наркологическая служба в Красноярске принимает обращения круглосуточно. Срочный вызов нарколога может понадобиться ночью, в выходной или праздник, когда самостоятельно справиться с похмельным синдромом не получается. В легких и среднетяжелых случаях помощь возможна дома. При делирии, судорогах, тяжелых сердечно-сосудистых нарушениях, передозировке или угрозе жизни требуется стационар либо бригада скорой и неотложной помощи.
    Дополнительная информация – вывод из запоя на дому цена

  19. CharlesSiz CharlesSiz

    Запой сопровождается продолжительным поступлением этанола и токсических продуктов его распада в кровь. Из-за этого страдают печень, сердце, сосуды, головной мозг и нервная система. Чем дольше продолжается употребление, тем выше риск обезвоживания, нарушения водно-солевого баланса, скачков давления, судорожного синдрома и алкогольного психоза. Поэтому важно знать, что резкий самостоятельный выход из длительного запоя в некоторых случаях также опасен, особенно если человек пьет много лет или имеет сопутствующие заболевания.
    Подробнее – https://2.vyvod-iz-zapoya-reutov4.ru/

  20. Nathanmat Nathanmat

    Тяжесть зависит от длительности употребления алкоголя, дозировок, возраста пациента, состояния печени и сердца, наличия хронических заболеваний и общего уровня здоровья. Даже если раньше человек переносил похмельный синдром относительно легко, очередной запой может носить более тяжелый характер. Абстинентный синдром развивается постепенно и иногда сопровождается резким ухудшением физического и психического состояния.
    Дополнительная информация – https://v.vyvod-iz-zapoya-v-krasnoyarske17.ru/

  21. DavidMurce DavidMurce

    Этот текст посвящён сложным аспектам зависимости и её влиянию на жизнь человека. Мы обсудим психологические, физические и социальные последствия зависимого поведения, а также важность своевременного обращения за помощью.
    Это ещё не всё… – бесплатная анонимная консультация нарколога

  22. Jamesmof Jamesmof

    Иногда родственники надеются, что зависимый самостоятельно выйдет из запоя, однако состояние может быстро ухудшиться. Медицинский осмотр особенно важен при сочетании нескольких симптомов. Правильно проведенная диагностика помогает минимизировать вероятность осложнений и своевременно перейти к интенсивному лечению.
    Получить больше информации – вывод из запоя на дому Красноярск

  23. В нашей клинике пациент может получить помощь на всех этапах лечения алкоголизма: от детоксикации и кодирования до завершающего восстановительного этапа лечения — курса медицинской реабилитации. Такой подход позволяет не ограничиваться временным облегчением после запоя, а сформировать план дальнейшей работы с человеком и его близкими. Медицинский центр неро-мед — это сеть специализированных амбулаторий, проводящих лечение зависимостей и оказывающих психотерапевтическую помощь при различных проблемах.
    Получить больше информации – наркологическая клиника цены

  24. Jessehof Jessehof

    Вывод из запоя в Санкт-Петербурге требуется, когда длительное употребление алкоголя приводит к выраженному похмельному или абстинентному синдрому, а самостоятельно прекратить пить становится сложно или небезопасно. Вывод выполняется на дому либо в клинике: формат врач выбирает с учетом тяжести запоя, возраста пациента, длительности алкогольной зависимости, хронических болезней и общего самочувствия. Нарколог может приехать на дому круглосуточно, провести осмотр пациента, подобрать капельницу и начать лечение. При тяжелом течении алкоголизма лечение организуют в стационаре, где доступны постоянное наблюдение, диагностика и расширенная программа восстановления.
    Получить больше информации – нарколог на дом вывод из запоя

Leave a Reply

Your email address will not be published. Required fields are marked *