URL Shortener

Rispondi
Avatar utente
Utente0 Verified
Site Admin
Messaggi: 61
Iscritto il: sabato 23 novembre 2024, 22:07

URL Shortener

Messaggio da Utente0 Verified »

Codice: Seleziona tutto

<?php
/**
 * Simple URL Shortener
 * Author: Technoforum.it
 */

// Simulated database to store URLs
$database = [];

/**
 * Function to generate a short URL key
 * @param string $url
 * @return string
 */
function generateShortCode($url) {
    return substr(md5($url), 0, 6); // Generate a 6-character hash
}

/**
 * Function to shorten a URL
 * @param string $url
 * @param array &$db
 * @return string
 */
function shortenUrl($url, &$db) {
    $shortCode = generateShortCode($url);
    $db[$shortCode] = $url;
    return "https://short.ly/" . $shortCode;
}

/**
 * Function to resolve a short URL to the original URL
 * @param string $shortCode
 * @param array $db
 * @return string|null
 */
function resolveUrl($shortCode, $db) {
    return $db[$shortCode] ?? null; // Return the original URL or null if not found
}

// Example Usage
$originalUrl = "https://technoforum.it/guide/php-url-shortener-example";
$shortUrl = shortenUrl($originalUrl, $database);
echo "Original URL: " . $originalUrl . "<br>";
echo "Shortened URL: " . $shortUrl . "<br>";

// Resolve the short URL
$shortCode = substr($shortUrl, strrpos($shortUrl, '/') + 1);
$resolvedUrl = resolveUrl($shortCode, $database);

if ($resolvedUrl) {
    echo "Resolved URL: " . $resolvedUrl . "<br>";
} else {
    echo "Short code not found.<br>";
}
?>
Come Funziona
Funzione generateShortCode:
Crea un hash MD5 basato sull'URL originale e ne prende i primi 6 caratteri.
Questo serve come identificatore univoco per il link corto.
Funzione shortenUrl:
Genera un codice breve usando generateShortCode.
Memorizza l'URL originale nel "database" simulato (un array associativo in questo caso).
Restituisce un link corto come https://short.ly/{codice}.
Funzione resolveUrl:
Cerca il codice breve nel database simulato.
Se lo trova, restituisce l'URL originale; altrimenti, restituisce null.
Esempio di Esecuzione:
L'URL originale https://technoforum.it/guide/php-url-shortener-example viene accorciato in qualcosa come https://short.ly/abc123.
Quando si usa il codice breve abc123, lo script restituisce l'URL originale.
Output del Codice
Se esegui lo script, vedrai un output simile:

Codice: Seleziona tutto

Original URL: https://technoforum.it/guide/php-url-shortener-example
Shortened URL: https://short.ly/abc123
Resolved URL: https://technoforum.it/guide/php-url-shortener-example
Come Utilizzarlo
Salva il file in url_shortener.php.
Modifica $originalUrl con qualsiasi URL lungo desideri accorciare.
Esegui lo script su un server PHP locale o online.
Puoi espandere lo script salvando i dati del "database" in un file o un database MySQL reale per un utilizzo pratico.
Questo esempio è un'ottima base per chi vuole imparare a gestire stringhe, hashing e semplici database in PHP!
Lorenzo|Utente0
Rispondi