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:
ob_start(); //Inicia Buffer de saida include("functions-little-url.php"); connect_db_lurl(); $lurl = $_GET["u"]; //Sequencia de caracteres $url = take_lurl($lurl); redirect($url); close_db_lurl(); ob_end_flush(); // Fecha buffer de saida ?>
create.php:
include("functions-little-url.php"); connect_db_lurl(); create(); close_db_lurl(); ?>
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
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
электрокарнизы для штор электрокарнизы для штор
Interested in UFC? https://ufc-white-house.com unique mixed martial arts tournament will take place on June 14, 2026, in Washington, D.C., on the South Lawn of the White House. It will be the first professional sporting event in history to be held directly on the grounds of the U.S. presidential residence.
1xbet güncel 1xbet güncel
рулонные жалюзи на окна цена https://rulonnye-shtory-s-elektroprivodom11.ru
капельница от похмелья недорого капельница от похмелья недорого
xbet girişi xbet girişi
Авторынок в ПМР Авторынок в ПМР .
производитель рулонных штор https://rulonnye-shtory-s-elektroprivodom10.ru
производитель рулонных штор https://rulonnye-elektroshtory.ru
В рамках анонимного лечения особое внимание уделяется следующим аспектам медицинской организации:
Углубиться в тему – наркологические клиники алкоголизм краснодар
Такой подход позволяет достичь устойчивого результата без срывов и рецидивов. Пациенты получают помощь не только на уровне физиологии, но и на уровне личностных изменений, что делает лечение глубоким и эффективным.
Подробнее тут – http://narcologicheskaya-clinika-v-rnd19.ru/
Каждый элемент программы направлен на создание комплексного подхода к лечению зависимости, обеспечивая помощь не только на физическом, но и на эмоциональном уровне. Индивидуальная программа реабилитации позволяет выстроить эффективную терапию, которая соответствует конкретным потребностям пациента.
Подробнее – reabilitacziya-alkogolikov-moskva.ru/
рулонная штора электро рулонная штора электро
К основным показаниям относятся:
Изучить вопрос глубже – вывод из запоя на дому санкт-петербург
888starzuz http://www.888starz-uz2.org .
сочетание рулонных рулонные шторы и тюль фото https://rulonnye-shtory-s-elektroprivodom17.ru
Лечение алкоголизма в Сергиевом Посаде важно рассматривать не как разовую «чистку» или временный перерыв, а как последовательный маршрут. Самый уязвимый период — первые 24–72 часа после прекращения употребления: днём может стать легче, но к вечеру и ночью волной возвращаются тревога и бессонница, усиливается внутреннее напряжение, появляются телесные симптомы. В этот момент человек чаще всего срывается, потому что ему кажется, что «иначе не выдержу». Поэтому качественная помощь строится так, чтобы пациент прошёл вечер и ночь безопасно, с понятными ориентирами и медицинской поддержкой, а затем перешёл к восстановлению и профилактике рецидива.
Углубиться в тему – медицина лечение алкоголизма
Специалист осуществляет первоначальный осмотр, измеряет ключевые показатели: артериальное давление, пульс, сатурацию кислорода в крови, выявляет степень интоксикации и тяжесть симптомов.
Изучить вопрос глубже – вызов нарколога на дом
ازاي اسحب فلوس من 888starz https://888starz-egypt6.com/
К основным показаниям относятся:
Узнать больше – наркология вывод из запоя в стационаре в нижнем новгороде
Не стоит медлить с вызовом врача-нарколога, если у человека проявляются тревожные признаки ухудшения состояния. Среди наиболее серьезных симптомов, требующих немедленного вмешательства врача, можно выделить продолжительный запой (более двух дней подряд), частую рвоту, невыносимую головную боль, выраженный тремор рук и тела, повышение артериального давления, нарушение ритма сердца, а также психические нарушения, включая тревогу, галлюцинации и бессонницу. Чем раньше пациент обратится за профессиональной помощью, тем выше шансы избежать серьезных осложнений и быстро вернуться к нормальной жизни.
Получить дополнительную информацию – https://vyvod-iz-zapoya-novosibirsk0.ru/vyvod-iz-zapoya-czena-novosibirsk/
Запой сопровождается быстрым накоплением токсинов, что может привести к нарушению работы сердца, печени и почек. Использование капельничного метода позволяет оперативно ввести современные препараты для детоксикации, что способствует быстрому восстановлению обменных процессов и нормализации работы внутренних органов. Оперативное лечение на дому особенно актуально, когда каждая минута имеет значение для спасения здоровья.
Ознакомиться с деталями – https://kapelnica-ot-zapoya-tyumen0.ru/postavit-kapelniczu-ot-zapoya-tyumen/
Нарколог на дом в Ростове-на-Дону рассматривается как специализированная форма оказания медицинской помощи пациентам с зависимостями вне стационара. В клинике «Чистый Баланс» выезд врача организуется круглосуточно, что позволяет обеспечить своевременное вмешательство при ухудшении состояния в любое время суток. Нарколог на дом в Ростове-на-Дону востребован в ситуациях, когда пациент не готов или не может обратиться в медицинское учреждение, а промедление с лечением повышает риск осложнений. Такой формат помощи требует строгого соблюдения клинических протоколов и высокой квалификации специалистов.
Углубиться в тему – narkolog-na-dom-v-rnd19.ru/
Такой подход позволяет наркологической клинике в Ростове-на-Дону выстраивать лечение в безопасных и психологически комфортных условиях.
Получить дополнительные сведения – http://narkologicheskaya-klinika-v-rostove19.ru
Текущие рекомендации: https://aromline.ru/index.php?categoryID=215
Ежедневный обзор: https://slovarsbor.ru/c/%D0%B8%D0%B6/
После диагностики начинается активная фаза медикаментозного вмешательства. Препараты вводятся капельничным методом, что способствует быстрому снижению уровня токсинов в крови, нормализации обменных процессов и стабилизации работы таких органов, как печень, почки и сердце.
Исследовать вопрос подробнее – https://vyvod-iz-zapoya-murmansk00.ru/vyvod-iz-zapoya-czena-murmansk/
На данном этапе врач уточняет, как долго продолжается запой, какой тип алкоголя употребляется и имеются ли сопутствующие заболевания. Детальный анализ клинических данных помогает подобрать оптимальные методы детоксикации и минимизировать риск осложнений.
Узнать больше – вывод из запоя
В «Южном МедКонтроле» лечение зависимостей строится поэтапно, с постепенным восстановлением физиологических функций и эмоциональной устойчивости. Врачи используют современные методы детоксикации, фармакотерапию и психотерапию, которые действуют комплексно. Каждый этап направлен на достижение конкретного результата: очищение организма, снятие симптомов абстиненции, стабилизацию состояния и профилактику срывов.
Узнать больше – вывод наркологическая клиника
Помощь при зависимостях в клинике «Южный Вектор» строится по принципу поэтапности, что соответствует современным медицинским представлениям. Наркологическая клиника в Ростове-на-Дону применяет методы, направленные на снижение выраженности синдромов отмены и восстановление функций органов. Клинические решения принимаются на основе данных обследования и наблюдения, что обеспечивает индивидуализацию терапии без отхода от стандартов.
Изучить вопрос глубже – http://narkologicheskaya-klinika-v-rnd19.ru/
Такой подход позволяет наркологической клинике в Ростове-на-Дону выстраивать лечение в безопасных и психологически комфортных условиях.
Изучить вопрос глубже – анонимная наркологическая клиника в ростове-на-дону
موقع 888starz 888starz مراهنات
888 bet 888 bet .
stars 888 http://888starz-bet3.com/ .
88stars 88stars .
888ستارز ستار مرهنات
8888starz http://www.888starz-bet3.com/ .