Dota 2. MMR sıralamada Türkler

Tr bayraklı Neqroman sadece listeye 163. sıradan girebildi

ABD'nin terörist sevgisi

ABD'nin, terör örgütü PYD/PKK’ya DEAŞ ile mücadele adı altında askeri sevkiyatları sürüyor.

DOTA2 - 2017 THE INTERNATIONAL CHAMPIONSHIP

2017 yazında düzenlenen turnuvada Team Liquid şampiyon oldu

  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
PHP ile Base URL Almak

 
#1

normalde 

Kod:
http://localhost

 adresi bizim 

Kod:
base_url

 adresimiz fakat proje bir alt klasörde yer alıyorsa o zaman sıkıntılar çıkabiliyor.

Çünkü 
Kod:
http://localhost/proje

 böyle bir adrese sahip olabilirsiniz ve dahası bu proje yolunda çalışırken htaccess kullanarak diğer sayfaları sanki bir klasörmüş gibi gösterebilirsiniz. Bu nedenden dolayı da mutlak url’yi yakalamakta sorun yaşayabiliyorsunuz. Bunun birden fazla çözüm yöntemi var. Öncelikle en basit olanını yapalım:

Çözüm 1:
Bu yöntemde, base_url methodu tanımlanır ve o yönteme statik url verilir:
Kod:
<?php
    function base_url() {
        return 'http://localhost/proje';
    }
?>

Çözüm 2:
Bu yöntemde biraz programlama beceriniz önemli aslında. Ben trait kullandım, çünkü bu kod şu anki projemin bi parçası. Multiple olarak extends işlemi yapamadığım için 5.4 ile gelen traitleri kullanmaya karar verdim.
Gereksinimler:
  • Gezindiğimiz alan adı: 
    $_SERVER['SERVER_NAME'];
  • Şu anda bulunduğumuz sayfa: 
    $_SERVER['REQUEST_URI'];
[*]Bu işlemde mevcut bulunduğumuz sayfayı PHP’nin 

Kod:
str_replace()

[*]

fonksiyonunu kullanarak temizleyeceğiz. Zaten düz root ise hiçbir şey görünmeyecek. Yok farklı URL’lerde isek o zaman kalan kısım görülecektir. Örneğin şöyle:


Kod:
/*
http://localhost => return ""
http://localhost/proje => return "/proje"
*/

[*]

Yukarıdaki gibi bir temizleme işlemi sonrası yapılması gereken PHP’nin 

Kod:
explode()

[*]

 fonksiyonunu slash ile kullanarak slashtan sonra gelen ilk değeri almak. Yani şöyle düşünelim:


Kod:
/*
/proje
/proje/abc/
/proje/a/b/c/d/e/f/g
*/

[*]

İlk satırdaki proje değerini almak zaten sıkıntılı değil ama bulunduğunuz sayfa 3. satırdaki gibi ise bir problemimiz var demektir. Bu yüzden explode ile böldüklerimizin ilkini alıyoruz. Bu genelde projenin root dizinidir.
Dizinin altındaki dizinlere maalesef bir çözümüm yok, o durumlarda artık manuel olarak ilk yöntemi denemelisiniz. Neyse bu işlem sonrasında ise dönen array türü değerin 1. indexini çağırıyoruz.
Bu projemizin root olarak görünen klasörüdür. Yani 

Kod:
/proje/a/b/c/d/e/f/g

[*]

gibi bir adresten sadece proje değerini alıyoruz. Ve ilk değerin başına tekrar bir slash ekliyoruz Son olarak dönen değer ”/” ya da “/proje_kok_dizini” şeklinde oluyor. Aslında senaryo olarak size bu işlemin nasıl yapacağını söylediğime göre kodlaması da basit anlamda kafanızda canlandı. Yine de kodlarını paylaşayım:

url.php

Kod:
<?php
trait URL {
   private $url = '';
   private $current_url = '';
   public $get = '';

   function __construct()
   {
       $this->url = $_SERVER['SERVER_NAME'];
       $this->current_url = $_SERVER['REQUEST_URI'];

       $clean_server = str_replace('', $this->url, $this->current_url);
       $clean_server = explode('/', $clean_server);

       $this->get = array('base_url' => "/".$clean_server[1]);
   }
}
?>

[*]

index.php

Kod:
<?php
require_once 'url.php'

class Home
{
   use URL;
}

$h = new Home();

// Bu satır HTML kodları içermektedir.
// O yüzden üst kısımda PHP taglerini kapatmalısınız.
?>
<a href="<?=$h->get['base_url']?>">Base</a>




Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  PHP ile gelenin Tarayıcı Bilgisini Almak Adamantin 0 423 19-03-2017, Saat: 17:44
Son Yorum: Adamantin

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2018 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2017 Tüm hakları saklıdır.