Boa noite a todos,
Ontem pela madrugada estava pensando no Twitter e que ele reduz urls grandes automaticamente para um sistema escolhidos por eles. Então, estava a pensar em como fazer o meu próprio sistema criação de urls pequenas (tiny url) e pesquisei um pouco no Google. Achei várias referências que utilizei como base para elaboração do meu e os links das mesmas você poderá encontrar no final deste post.
Primeiramente você deve criar uma tabela em seu banco de dados com as seguintes características:
# 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`)
# );
Este código foi pego do Abhise no seu post “Create your own tinyurl with php and mySQL” que foi minha maior referência, da mesma peguei várias funções mas realizei algumas alterações para melhor eficiência e também tradução para você. Como no código acima foi adicionado o ‘BINARY’ para o unique reconhecer diferença entre AAAA e aaaa, por exemplo.
O Abhise diz para criarmos tais e tais arquivos, eu particularmente, criei um arquivo de funções onde adicionei as diversas funções utilizadas e simplesmente chamei as mesmas nos seus respectivos arquivos.
—- Para ler o artigo inteiro acesse o link abaixo.
Inicialmente precisamos de uma função para conectar/desconectar do mysql e também adicionei algumas variáveis e “diretivas”
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
}
Segundo passo foi criar uma função para redirecionamento, ou seja, uma função que redirecionasse para URL original
function redirect($url) {
header(“Location:”.$url); // Redireciona para a url.
}
Logo em seguida utilizei a função já criada por Abhise para gerar a sequencia de caracteres. (Adicionei algumas letras que ele não estava utilizando elevando assim muito a quantidade de combinações possíveis)
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; }
Utilizamos também um método para verificar se a chave é única:
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;
}
}
E outro para verificar se a URL já existe no banco de dados:
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;
}
}
Por fim, a função para gerar as urls:
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.
}
}
Olhando o código algum tempo depois resolvi criar outra função para Pegar o endereço:
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;
}
Criei o arquivo “functions-little-url.php” com os códigos anteriores e os demais arquivos dessa maneira:
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(); ?>
Até aqui tranquilo, logo em seguida devemos adicionar o Mod_Rewrite no Apache e adicionar as seguintes linhas no .htaccess
RewriteEngine On
RewriteRule ^([1-9a-zA-Z]*)$ index.php\?u=$1 [L]
Eu fiz o meu dessa maneira, como foi descrito nas referências, realizando algumas modificações. Tudo funcionou bem.
Como eu utilizo o sistema wordpress e gostaria de utilizar o mesmo (que já usava mod_rewrite) junto dessa minha nova funcionalidade tive que pesquisar mais sobre este módulo para apache. Então caso você deseje utilizar este sistema junto ao seu sistema WordPress faça da seguinte maneira:
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]
Para criar URLs acesse o endereço create.php?u=ENDEREÇO_DO_SITE
Para acessar URLs o arquivo index.php cuidara disso para você.
Você pode baixar estes arquivos de Como criar seu proprio sistema de TinyURL aqui.
Qualquer dúvida, sinta-se a vontade para entrar em contato comigo. E em breve estou pensando em disponibilizar esse “compressor” de URL como um serviço do meu blog. Lembrando que você não deve ter pastas com nomes do mesmo tamanho que o utilizado pelo L-Url.
Abraço a todos,
Matheus Bratfisch
PS: Eu tinha feito algo mais bonito, com Objetos e tudo mais, porém após ter feito os códigos e tentar testar descobri que o meu PHP não estava atualizado, então assim que eu atualizar o mesmo eu testo e posto as modificações para você.
Referências:
—- “Tiny Url”:
www.php.net
Wynia.org
htmlCenter
—- “Mod Rewrite”:
Apache Mod Rewrite
Помощь оказывают врачи с практикой в наркологии, психиатрии и восстановительной терапии.
Изучить вопрос подробнее – stoimost-kapelnicy-ot-zapoya
Этот документ охватывает важные аспекты медицинской науки, сосредотачиваясь на ключевых вопросах, касающихся здоровья населения. Мы рассматриваем свежие исследования, клинические рекомендации и лучшие практики, которые помогут улучшить качество лечения и профилактики заболеваний. Читатели получат возможность углубиться в различные медицинские дисциплины.
Жми сюда — получишь ответ – https://vyezd-narkologa.ru/service/alkogolizm
Запой отличается от разового употребления алкоголя тем, что больной продолжает пить несколько дней подряд и использует новые дозы спиртного для временного облегчения похмелья. Со временем такая схема усиливает алкогольную зависимость. Чем дольше продолжается запой, тем выше вероятность тяжелого абстинентного синдрома и тем чаще требуется помощь врача.
Получить больше информации – https://n.vivod-iz-zapoya-v-sankt-peterburge16.ru/
Выраженность жалоб зависит от стадии алкоголизма, продолжительности употребления, общего состояния пациента и сопутствующих болезней. У одного больного преобладают тремор и бессонница, у другого возникают рвота, боли, перепады давления или нарушения психики. Врач оценивает совокупность проявлений и выбирает лечение индивидуально.
Получить больше информации – вывод из запоя на дому недорого
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!
Резко прекратить длительное употребление алкоголя без контроля врача бывает сложно. При алкоголизме нервная система привыкает к постоянному действию этанола, поэтому после прекращения приема спиртного может развиться выраженная абстиненция. Лечение направлено на снижение тяжести этого периода, коррекцию водно-электролитного баланса, защиту внутренних органов и нормализацию самочувствия.
Подробнее – вывод из запоя на дому недорого в Санкт-Петербурге
Этот обзор посвящен успешным стратегиям избавления от зависимости, включая реальные примеры и советы. Мы разоблачим мифы и предоставим читателям достоверную информацию о различных подходах. Получите опыт многообразия методов и найдите подходящий способ для себя!
Личный опыт — читайте сами – https://vyezd-narkologa.ru/service/vyvod-iz-zapoya/kapelnitsa-ot-pohmelya
В этой статье мы обсудим процесс восстановления после зависимостей, акцентируя внимание на различных методах и подходах к реабилитации. Читатели узнают, как создать план выздоровления и использовать полезные ресурсы для достижения устойчивых изменений.
Получить дополнительные сведения – вызвать наркологическую скорую помощь
Попал в беду — запой затянулся. Скорая не решает проблему — а помочь нужно прямо сейчас. Благо — нашли работающий вариант. Оказывается — выезжает нарколог. Без регистрации. Полный набор для вывода. Нормализует состояние — профессионально. И стоимость приемлемая — экономия времени и нервов. вывод из запоя цена вывод из запоя цена На сайте подробно — без выходных. Проверил на себе — без обмана. Откладывать нельзя. Огромное спасибо им. Не бойтесь обращаться. Это правильно. Всё будет хорошо!
Рекомендации строятся вокруг состояния человека, а не по универсальному шаблону для всех случаев.
Ознакомиться с деталями – https://a.narkologicheskaya-klinika-v-krasnoyarske17.ru
Общаемся без осуждения и давления, сохраняя спокойную атмосферу для пациента и семьи.
Подробнее – наркологический вывод из запоя в Санкт-Петербурге
Тяжелая ситуация — человек в запое уже давно. Врачи не могут вывести — требуется серьёзное лечение. Узнали куда можно обратиться. Есть профессиональная помощь — стационарное выведение. Медицинский персонал на месте 24/7. Инфузионная терапия — без риска для здоровья. Без постановки на учёт. Условия комфортные. выведение из запоя в стационаре https://kapelnica.vyvod-iz-zapoya-v-stacionare-samara11.ru Все условия работы. Проверили на себе — помогли реально. После курса сразу легче. И что радует — с гарантией. Не тяните время. Близких нужно спасать. Кто уже не справляется дома — советую. Всё будет хорошо!
Клиника предлагает различные варианты помощи: выведение из запоя, детоксикацию, лечение алкоголизма и наркозависимости, кодирование, снятие похмельного синдрома, психиатрическое и психологическое сопровождение. Услуги оказываются в клинике, амбулаторно и на дому. При необходимости возможна госпитализация пациента, транспортировка в стационар и дальнейшее наблюдение врача.
Узнать больше – платная наркологическая клиника Санкт-Петербург
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!
Помощь может включать консультацию, детоксикацию, стационар и дальнейшее сопровождение по показаниям.
Дополнительная информация – вывод из запоя вызов в Санкт-Петербурге
Самостоятельный выход подходит далеко не в каждом случае. При выраженной ломке, судорогах, галлюцинациях, спутанности сознания, психозах, сильной рвоте или резком ухудшении самочувствия нужно вызвать врача. Наркологическая служба может работать круглосуточно: специалист приезжает по адресу, выполняет осмотр, определяет показания к капельнице и решает, допустимо ли лечение на дому. Если ситуация требует постоянного контроля, больного рекомендуется доставить в стационар.
Узнать больше – вывод из запоя на дому Кемерово
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!
Алкогольный запой разрушает физическое и психическое здоровье постепенно, но серьезные осложнения иногда развиваются очень быстро. В большинстве случаев родственники сначала пытаются уговорить близкого бросить пить самостоятельно, однако при сформированной зависимости этого оказывается недостаточно. Абстинентный синдром может усиливаться в течение первых суток, а страх, бессонница и желание снова выпить повышают вероятность продолжения запоя.
Получить больше информации – https://a.vyvod-iz-zapoya-kemerovo18.ru/
Наркологическая помощь в Реутове оказывается круглосуточно, включая выходные дни. После обращения специалист уточняет длительность употребления алкоголя, примерное количество спиртного, наличие хронических болезней, принимаемые препараты и текущие симптомы. Эти данные помогают предварительно оценить тяжесть ситуации и подобрать оптимальное лечение. Если человек находится в стабильном состоянии и отсутствуют показания для госпитализации, вывод из запоя может проводиться на дому. При серьезной интоксикации, психических расстройствах, сердечной недостаточности и других осложнениях более безопасным решением становится лечение в стационаре.
Ознакомиться с деталями – vyvod-iz-zapoya
Отдельного внимания требуют больные с печеночной и сердечной недостаточностью, тяжелым поражением нервной системы, паническими атаками, выраженной депрессией или агрессией. Если общее состояние резко ухудшилось, появилась спутанность сознания или человек плохо реагирует на окружающих, следует обратиться за экстренной медицинской помощью. Решение о месте лечения принимается с учетом диагноза, тяжести абстинентного синдрома и потенциального риска осложнений.
Получить больше информации – https://3.kapelnica-ot-zapoya-moskva0.ru/
Вывод из запоя на дому выбирают, когда медицинские условия позволяют проводить лечение без помещения больного в клинику. Наркологическая бригада может выехать в Центральный, Советский, Октябрьский, Железнодорожный, Кировский, Ленинский и Свердловский район Красноярска. Точное время прибытия зависит от адреса, дорожной ситуации и загруженности выездной службы. Основные преимущества домашнего формата — анонимность, привычная обстановка, возможность не посещать государственные учреждения и получение помощи под медицинским наблюдением.
Изучить вопрос подробнее – вывод из запоя на дому круглосуточно
Наркологическая служба в Красноярске принимает обращения круглосуточно. Срочный вызов нарколога может понадобиться ночью, в выходной или праздник, когда самостоятельно справиться с похмельным синдромом не получается. В легких и среднетяжелых случаях помощь возможна дома. При делирии, судорогах, тяжелых сердечно-сосудистых нарушениях, передозировке или угрозе жизни требуется стационар либо бригада скорой и неотложной помощи.
Дополнительная информация – вывод из запоя на дому цена
Помощь может включать консультацию, детоксикацию, стационар и дальнейшее сопровождение по показаниям.
Ознакомиться с деталями – наркологические клиники в области
Запой сопровождается продолжительным поступлением этанола и токсических продуктов его распада в кровь. Из-за этого страдают печень, сердце, сосуды, головной мозг и нервная система. Чем дольше продолжается употребление, тем выше риск обезвоживания, нарушения водно-солевого баланса, скачков давления, судорожного синдрома и алкогольного психоза. Поэтому важно знать, что резкий самостоятельный выход из длительного запоя в некоторых случаях также опасен, особенно если человек пьет много лет или имеет сопутствующие заболевания.
Подробнее – https://2.vyvod-iz-zapoya-reutov4.ru/
Тяжесть зависит от длительности употребления алкоголя, дозировок, возраста пациента, состояния печени и сердца, наличия хронических заболеваний и общего уровня здоровья. Даже если раньше человек переносил похмельный синдром относительно легко, очередной запой может носить более тяжелый характер. Абстинентный синдром развивается постепенно и иногда сопровождается резким ухудшением физического и психического состояния.
Дополнительная информация – https://v.vyvod-iz-zapoya-v-krasnoyarske17.ru/
Этот текст посвящён сложным аспектам зависимости и её влиянию на жизнь человека. Мы обсудим психологические, физические и социальные последствия зависимого поведения, а также важность своевременного обращения за помощью.
Это ещё не всё… – бесплатная анонимная консультация нарколога
Специалисты регулярно помогают при интоксикации, запоях, абстиненции и сложных состояниях зависимости.
Дополнительная информация – лучшее кодирование от алкоголизма
Иногда родственники надеются, что зависимый самостоятельно выйдет из запоя, однако состояние может быстро ухудшиться. Медицинский осмотр особенно важен при сочетании нескольких симптомов. Правильно проведенная диагностика помогает минимизировать вероятность осложнений и своевременно перейти к интенсивному лечению.
Получить больше информации – вывод из запоя на дому Красноярск
Заявку можно оставить в любое время, специалист быстро сориентирует по дальнейшим действиям.
Подробнее – https://n.narkologicheskaya-klinika-v-kemerovo18.ru/
В нашей клинике пациент может получить помощь на всех этапах лечения алкоголизма: от детоксикации и кодирования до завершающего восстановительного этапа лечения — курса медицинской реабилитации. Такой подход позволяет не ограничиваться временным облегчением после запоя, а сформировать план дальнейшей работы с человеком и его близкими. Медицинский центр неро-мед — это сеть специализированных амбулаторий, проводящих лечение зависимостей и оказывающих психотерапевтическую помощь при различных проблемах.
Получить больше информации – наркологическая клиника цены
Вывод из запоя в Санкт-Петербурге требуется, когда длительное употребление алкоголя приводит к выраженному похмельному или абстинентному синдрому, а самостоятельно прекратить пить становится сложно или небезопасно. Вывод выполняется на дому либо в клинике: формат врач выбирает с учетом тяжести запоя, возраста пациента, длительности алкогольной зависимости, хронических болезней и общего самочувствия. Нарколог может приехать на дому круглосуточно, провести осмотр пациента, подобрать капельницу и начать лечение. При тяжелом течении алкоголизма лечение организуют в стационаре, где доступны постоянное наблюдение, диагностика и расширенная программа восстановления.
Получить больше информации – нарколог на дом вывод из запоя