Witaj gościu! Zaloguj się lub Zarejestruj aby móc korzystać ze wszystkich funkcjonalności jakie oferuje to forum! Rozpocznij zarabianie przez internet, poznaj korzysci pracy w domu! Rejestracja i korzystanie z forum jest całkowicie darmowe!
Praca w domu - Dodatkowa Praca - Zarabianie przez Internet
Szukam skryptu do skracania linków - Wersja do druku

+- Praca w domu - Dodatkowa Praca - Zarabianie przez Internet (https://zarabiam.com)
+-- Dział: Zarabianie przez Internet (/Forum-Zarabianie-przez-Internet-33)
+--- Dział: Boty i Programy (/Forum-Boty-i-Programy-357)
+--- Wątek: Szukam skryptu do skracania linków (/Temat-Szukam-skryptu-do-skracania-linkow-142336)



Szukam skryptu do skracania linków - NoVi - 01-01-2017 13:09

Witajcie, szukam dobrego i prostego skryptu do skracania linków.

Chcę sobie zrobić taki serwis do własnego użytku Smile
Każdy wie, jak Facebook blokuje wszystkie linki.


RE: Szukam skryptu do skracania linków - NeedDolar - 01-01-2017 15:47

Dołączam do pytania. Ktoś pomoże? Smile


RE: Szukam skryptu do skracania linków - KombinatorGumiok - 01-01-2017 17:41

Jeśli masz jakieś ~20minut czasu oraz własną domenę i hosting, to polecam zainstalować wordpressa i tą wtyczkę
Używam jej od kilku miesięcy i jestem zadowolony.


RE: Szukam skryptu do skracania linków - Dante_/ - 02-01-2017 01:54

Zawsze możesz zrobić przekierowanie na blogspot'cie albo na weebly, za pomocą edycji kodu html. Darmowy sposób, który pozwala zaoszczędzić trochę pieniędzy zamiast wydawać na domeny. Z mojego doświadczenia taka domena stoi przez jakiś miesiąc przy spamie około 500-600 wiadomości/komentarzy na dzień.

Link do kodu - http://pastebin.com/WEjzYmHv

W 9 linijce zmieniasz 'xxxxxxxxxxxxx' na link do domeny.


RE: Szukam skryptu do skracania linków - kubagrzybowski - 02-01-2017 20:47

Kiedyś znalazłem coś takiego [PHP/MYSQL]
Cytat:Za pomocą 5 znaków możesz zapisać ponad 60 mln różnych adresów WWW! Na początek trochę teorii. Adres będziemy kodować do maksymalnie 5 znaków. Da to możliwość zapamiętania ponad 60 mln adresów. Wystarczająco dużo, prawda? Do kodowania użyję 36 symboli. Będą to liczby i wszystkie znaki alfabetu - łącznie jest ich 36. Zobacz ile kombinacji znaków można uzyskać używając od 1 do 6 znaków dla alfabetu złożonego z 36 symboli, jak nasz:

1 = 36
2 = 1 296
3 = 46 656
4 = 1 679 616
5 = 60 466 176
6 = 2 176 782 336
Każdy adres zostanie zapisany w tablicy o konstrukcji:

Kod:
CREATE TABLE adresy (
  id int(10) unsigned NOT NULL auto_increment,
  adres varchar(255) NOT NULL default '',
  PRIMARY KEY  (id)
)
Gdzie identyfikatorem będzie kolejna liczba, a w polu adres wstawię adres docelowy. Wykonajmy teraz konwersję adresu docelowego na skrót:

Kod:
<?
function na36($liczba) {
  $znaki = array("0","1","2","3","4","5","6","7","8","9","a","b",
                 "c","d","e","f","g","h","i","j","k","l","m","n",
                 "o","p","q","r","s","t","u","v","w","x","y","z");
  while($liczba>0) {
    $resztamod = $liczba % 36;
    $liczba = ($liczba-$resztamod)/36;
    $wynik = $znaki[$resztamod] . $wynik;
  }
  return $wynik;
}

// ten adres będziemy skracać
$adres = "http://jakisserwer.pl/moj/bardzo/dlugi/adres.html?z=parametrem";

if (mysql_connect($sql_serwer, $sql_login, $sql_haslo)
  and mysql_select_db($sql_baza)) {
  $wynik = mysql_query("INSERT INTO adresy SET adres='$adres'");
  $id = mysql_insert_id(); // pobieram numer wstawionego właśnie rekordu
  $id = na36($id);         // i zmieniam na krótki w alfabecie 36-znakowym
  mysql_close();
}

echo "Krótki adres strony to:<br />";
echo "http://serwis.pl/?$id";
?>
Wstawiam adres, pobieram numer id rekordu i zmieniam numer na liczbę w zapisie 36-znakowym. Ten numer stanowi skrót i można go dodać do adresu rozszyfrowującego skracanie. Otrzymuję w wyniku np. adres:

http://serwis.pl/?d3
Skrót strony to d3. Teraz, gdy ktokolwiek wpisze adres u nas w serwisie, trzeba przekierować użytkownika wpisującego adres na stronę docelową. W tym celu muszę zamienić liczbę d3 na postać dziesiętną (471) i pobrać rekord o tym numerze oraz przekierować użytkownika pod umieszczony w tym rekordzie adres:
Kod:
<?
function z36($liczba) {
  $znaki = array("0"=>0, "1"=>1, "2"=>2, "3"=>3, "4"=>4, "5"=>5,
                 "6"=>6, "7"=>7, "8"=>8, "9"=>9, "a"=>10,"b"=>11,
                 "c"=>12,"d"=>13,"e"=>14,"f"=>15,"g"=>16,"h"=>17,
                 "i"=>18,"j"=>19,"k"=>20,"l"=>21,"m"=>22,"n"=>23,
                 "o"=>24,"p"=>25,"q"=>26,"r"=>27,"s"=>28,"t"=>29,
                 "u"=>30,"v"=>31,"w"=>32,"x"=>33,"y"=>34,"z"=>35);
  for ($i=strlen($liczba);$i>=0;$i--) $odtylu .= $liczba[$i];
  for ($i=0;$i<strlen($odtylu);$i++) {
    $m=pow(36, $i);
    $wynik += $znaki["$odtylu[$i]"] * $m;
  }
  return $wynik;
}

// numer, jako parametr za znakiem ? np. http://serwer.pl/?d3
$id = $_SERVER['QUERY_STRING'];
$id = z36($id);  // zmieniam na liczbę dziesiętną

if (mysql_connect($sql_serwer, $sql_login, $sql_haslo)
  and mysql_select_db($sql_baza)) {
  $wynik = mysql_query("SELECT * FROM adresy WHERE id='$id'");
  if ($wynik) {
    $dane = mysql_fetch_assoc($wynik);
    $adres = $dane['adres'];
    header("Location: $adres");
    exit;
  } else {
    echo "Błędnie wpisany parametr...";
  }
  mysql_close();
}
?>
Operacja odwrotna. Pobieram rekord na podstawie jego numeru uzyskanego z parametru strony. Znowu muszę wykonać konwersję z podstawy 36-znakowej na system dziesiętny. Przekierowanie wykonuję w funkcji header(), stąd ważne jest aby wcześniej na stronie nie było żadnego innego znaku. To ma być pierwszy element strony na samej górze, ponieważ wysyła nagłówki z przekierowaniem do przeglądarki.