Bir URL'yi kısaltmak için basit bir komut dosyası. Basit url kısaltıcı komut dosyası Okuma yazma bilmeyen bağlantı php

Bir URL'yi kısaltmak için basit bir komut dosyası. Basit url kısaltıcı komut dosyası Okuma yazma bilmeyen bağlantı php

Neredeyse tüm modül, eklenti ve CMS geliştiricilerinin kişisel sitelerine doğrudan bağlantılar bırakma eğiliminde oldukları bir sır değil. Bazen bu tür bağlantıların aranması, web yöneticisinin oldukça fazla zamanını alır. Daha önemli görevler için harcayabileceği zaman. Sunduğumuz Bağlantı Bul komut dosyası yalnızca harici bağlantıları bulmaya yöneliktir. Aynı zamanda kurulumu ve kullanımı oldukça basit: Tek yapmanız gereken betik dosyasını sitenin kök dizinine kopyalamak ve bir tarayıcıda açmak. Find-Link size hangi dosyanın içerdiğini gösterecek Dış referans ve ayrıca kodunu da belirtin. Bundan sonra, yalnızca silmeniz gerekecek.

Komut dosyası sürümünü 0.5.0 indirebilirsiniz.
Komut dosyası sürümünü 0.4.0 indirebilirsiniz.
Komut dosyası sürümünü 0.3.1 indirebilirsiniz.
Komut dosyası sürümünü 0.3.0 indirebilirsiniz.
Komut dosyası sürümünü 0.2.0 indirebilirsiniz.
Komut dosyası sürümünü 0.1.0 indirebilirsiniz.

Kurulum:

1. find-link.php dosyasını sitenizin kök dizinine kopyalayın.
2. http://web siteniz/find-link.php dosyasını bir tarayıcıda açın.

Önemli - Find-Link kendisine atanan görevi tamamlamayı başaramazsa, komut dosyası dosyasını bir alt kategoriye kopyalayın ve sitenizi parçalar halinde kontrol edin.

Kaynağımızın ve sunduğumuz tüm araçların, projelerinizle çalışırken size birden fazla kez yardımcı olacağını umuyoruz.

KAYNAKLARI İNDİRİN

Küçük ve derli toplu betiklerle sorunları çözmeyi seviyorum. Yazılacak daha az kod, daha iyi. Son zamanlarda bunu yapmak için başka bir şansım oldu.

Bu sorun, bir URL kısaltıcı komut dosyasıyla çözülebilir. Uzun zamandır bu tür yetenekler sağlayan hizmetler var, ancak dezavantajları da yok değil. Bunlardan bazıları:

  • Harici bir hizmete bağımlılık - çalışmadığında bağlantılar da kullanılamaz. Daha da kötüsü, hizmet kapalıysa - bunun neye yol açacağını kendiniz anlıyorsunuz;
  • Tüm istatistikler üçüncü taraf hizmetler tarafından izlenir;
  • Normalde kısaltılmış bağlantıların görünümünü değiştirmenize izin verilmez;
  • Bazı hizmetler kendi takma adlarınızı seçmenize izin verir, ancak çoğu bunları otomatik olarak atar.

Öyleyse görev, yukarıda açıklanan sorunu çözmesine izin verilen kendi PHP betiğinizi yazmaktır!

Fikir

Komut dosyası yalnızca kendi kullanımınız için oluşturuluyorsa, kullanıcı kaydı ve yönetim paneli. Gelecekteki komut dosyamızın sahip olması gereken özellikler aşağıdadır:

  • Kısa bağlantılar şöyle görünecek http://example.com/l/short-link. Bu URL'ye yapılan bir ziyaret, gerçek adrese yönlendirilecektir;
  • Komut dosyasının tamamı tek bir dosyada yer alacaktır - index.php, harici bağımlılıklar olmadan;
  • Bağlantı eklemek ve düzenlemek için araçlara sahip bir yönetici paneli yoktur. Her şey basit bir şekilde yönetilecek Metin dosyası, düzenlemesi çok kolay olan sunucuda bulunur;
  • Tanımlayıcılar bağlantılara otomatik olarak atanmaz - kendiniz bir takma ad girersiniz.

Bu noktalar gelecekteki senaryomuzu basitleştirecektir. İşleri daha da netleştirmek için, bağlantıları bir INI dosyasında saklamaya karar verdim çünkü düzenlemesi kolay ve PHP onlar için işlev aracılığıyla yerleşik bir desteğe sahip. parse_ini_file(bu bizi dosyanın içeriğini okumak ve manuel olarak ayrıştırmak zorunda kalmaktan kurtaracaktır, ayrıca bu işlev çok hızlıdır).

INI dosyası

INI dosyası şöyle görünür:

linkler.ini

uygulama

PHP betiğimiz dahiyane bir şekilde basittir:

index.php

$links = parse_ini_file("links.ini"); if(isset($_GET["l"]) && array_key_exists($_GET["l"], $links))( header("Location: " . $links[$_GET["l"]]); ) else (header("HTTP/1.0 404 Bulunamadı"); echo "Bilinmeyen bağlantı."; )

Komut dosyası, $_GET['l'] dizisinde şuna benzeyen bir takma ad almayı bekler: http://example.com/index.php?l=google.

Elbette bu bir steno değil, ancak bir .htaccess dosyasıyla (Apache web sunucusunu başlatmak için kullanılır) geliştirebiliriz.

htaccess

RewriteCond'da RewriteEngine $1 !^(index.php) RewriteRule ^(.*)$ index.php?l=$1 [L]

Bu dosya index.php ve links.ini ile aynı dizinde olmalıdır. Amacı, index.php dosyasına DEĞİL olan her isteği index.php?l=xxx gibi bir adrese yönlendirmektir. Bu, döngüsel bağlantılara karşı koruma sağlar ve links.ini dosyasına tarayıcıdan erişilemez hale getirir.

başarı için en iyi sonuçlar, bu üç dosyayı kısa bir ada sahip bir klasöre koyun, örneğin "l", kök klasör sitesine gidin ve http://example.com/l/google biçimindeki bağlantıların kısa bir görünümünü elde edin.

Google.com sitesiyle ilgili örnek, kısaltılmış bağlantı orijinalinden daha uzun olduğu için çok net değil, ancak mekanizmanın özünü tam olarak göstermek önemliydi, umarım başarılmıştır.

Çözüm

Yapılabilecek başka bir iyileştirme, INI dosyasının içeriğini değiştirebilmeniz için basit bir yönetimsel arayüz oluşturmaktır.

Tabii ki, bu komut dosyasında çok daha fazlasını uygulayabilirsiniz. Umarım eserim sizin için yararlı olmuştur!

Bu yayın makalenin bir çevirisidir " Hızlı İpucu - 10 Satırlık PHP İle Basit Bir URL Kısaltıcı Oluşturun» arkadaş canlısı bir proje ekibi tarafından hazırlanmıştır

Tanım

HTML etiketi geçerli html belgesi ile başvurduğu harici kaynak arasındaki ilişkiyi tanımlar. Boş bir öğedir (içerik veya kapanış etiketi yoktur) ve her zaman içine yerleştirilmelidir. eleman . En yaygın etiket harici stil sayfalarını dahil etmek için kullanılır:

İlk özellik href mutlak veya göreli olabilen belgenin adresini belirtir. İkinci özellik rel arasında bir bağlantı olduğunu gösterir. HTML dosyası ve neye atıfta bulunuyorsanız, bu durumda bir stil sayfasına atıfta bulunuyoruz, bu nedenle stil sayfasının değeri kullanılır. Bağlanmak tip tarayıcıya belgenin MIME türünü söyler, stil sayfaları için değer her zaman "text/css" olacaktır.

Not: HTML5 standardına göre, harici bir CSS dosyasını bir belgeye bağlarken type niteliği gerekli değildir:

Sayfaları Ön Yükleme

Genellikle, başka bir sayfaya giden bir bağlantıya tıkladığınızda, yüklenmesi için birkaç saniye beklemeniz gerekir. Ancak, web sayfanızı, siz geçerli sayfadayken belirli sayfaların tarayıcının önbelleğine önceden yükleneceği şekilde ayarlayabilirsiniz. Bu, başka bir web sayfasına gitmek için bir bağlantıya tıkladığınızda hemen açılacağı ve yüklenmesini beklemenize gerek kalmayacağı anlamına gelir. Buna "sayfayı önceden getirme" denir. Bunu yapmak için etiketini kullanın rel="prefetch" özniteliğiyle ve ayrıca bilgisayara önceden yüklenecek açılış sayfasını belirtir.

Böyle bir giriş, siz geçerli sayfanın içeriğini okurken, tag_p.php sayfasının bilgisayarda önceden önbelleğe alınmasına izin verecektir. etiketi kullanabilirsiniz kendi sitenizdeki veya internetten başka herhangi bir sayıdaki sayfayı önceden yüklemek için.

Not: Bir HTML belgesinin adresi yerine, başka türden bir dosyanın (resim, video vb.) yolunu belirtebilirsiniz.

Öznitellikler

href: Harici dosyanın konumunu (URL) belirtir (dosyanın yolu, mutlak veya göreli bir adres kullanılarak belirtilebilir). hreflang: Bağlantı kurulmakta olan belgenin dilini belirten iki harfli bir dil kodunu belirtir. hreflang özniteliği yalnızca href özniteliğiyle bağlantılı olarak kullanılır. medya: Dosyanın hangi cihazlar için optimize edildiğini belirler. Temelde farklı stilleri tanımlamak için stil sayfası dosyalarıyla birlikte kullanılır. farklı şekiller taşıyıcılar. Medya özelliği, boşluklarla ayrılmış olarak aynı anda birden fazla değer alabilir. rel: arasındaki ilişkiyi gösterir. geçerli belge ve bağlantının yönlendirdiği belge.
  • alternatif- belgenin alternatif bir versiyonuna bağlantı (yani baskı, çeviri veya yansıtma için sayfalar).
  • yazar- belgenin yazarıyla ilgili sayfaya veya yazarın iletişim bilgilerini içeren sayfaya bir bağlantı tanımlar.
  • kanonik- aynı içeriğe sahip tüm sayfaların etiketi içermesi gerektiği anlamına gelen yinelenen içeriğe sahip sayfaları etiketlemenize olanak tanır rel="canonical" özelliği ile.

    Bu durumda href özniteliği, aynı içeriğe sahip bir sayfaya bağlantı içermelidir. arama motorları ana olarak kabul edilmelidir

  • Birinci- bir belge dizisindeki ilk belgeye götüren bir bağlantıyı gösterir.
  • yardım- yardım içeren bir belgeye bağlantı.
  • simge- geçerli belge için kullanılacak simgenin yolunu tanımlar.
  • son- belge dizisindeki son belgeye giden bir bağlantıyı gösterir.
  • lisans- Belge için telif hakkı bilgilerine bağlantı.
  • Sonraki- bu belgenin bir serinin parçası olduğunu ve bağlantının şuraya yönlendireceğini belirtir: sonraki belge bu dizide
  • önceden getirme- bağlantının yönlendirdiği dosyanın önceden önbelleğe alınması gerektiğini belirtir.
  • önceki- bu belgenin bir serinin parçası olduğunu ve bağlantının bu serideki önceki belgeye yönlendirdiğini belirtir.
  • aramak- belgeyi aramak için bağlantı.
  • stil sayfası- tanımlar harici dosya Bu belge için stil sayfası olarak kullanılacak.
boyutlar: Görsel olarak görüntülenecek simgelerin boyutunu belirtir. bedenler özniteliği yalnızca rel="icon" ile birlikte kullanılır ve aşağıdaki değerleri alabilir:
  • genişlik x yükseklik- boşluklarla ayrılmış boyutların bir listesini tanımlar, her boyut - genişlikxyükseklik biçiminde olmalıdır (simge boyutları piksel olarak tanımlanır), örnek:
  • herhangi- simge herhangi bir boyuta ölçeklendirilebilir.
type: Yalnızca href özniteliği ile bağlantılı olarak kullanılan bağlantılı belgenin MIME türünü (İnternet üzerinden İletim için İleti Biçimlendirme ve Bilgi Kodlama Belirtimi) belirtir.

Etiket ayrıca destekler