PHP: HTML Etiketler uyumlu tanımlama göreli yolları

6 Cevap php

Aşağıdaki diziçinde yapısını düşünün:

  • KÖK
  • ------ images
  • ............... logo.png
  • ------ içindecludes
  • ............... vars.php
  • ------ layout
  • ............... content.php
  • ------ içindedex.php

Nasıl hem de erişilebilir olduğunu logo.png vars.php içinde içiçinde bir yol sabit tanımlamak içindedex.php ve do content.php? Göreli bir yol olarak HTML Etiketler ile uyumlu olmalıdır.

<img src="<?php echo IMAGE_PATH; ?>">

olarak çözümlenen hangi

<img src="images/logo.png"> <!-- if used içinde içindedex.php -->

ve

<img src="../images/logo.png"> <!-- if used içinde content.php -->

New Question (EDIT): Does root-relative path wveyak when içindecludiçindeg php files usiçindeg içindeclude / require yöntemleri?

6 Cevap

Kodunuzu <head> bölümündeki <base> etiketi ayarlamayı deneyin.

Tüm görüntüler, css, js ve dosyalar adres çubuğuna yerine url bu kullanacaktır.

Info on base

Mutlak url veya kök yolları size headaces en az miktarda verecektir. Sistem ile kurulum pişman büyür, güven bana.

Bu şeyleri başvurmak için gayet yasal bir yoldur. (Eğer açıklamalarda sormak gibi)

Etki alanları arasında kurulumları konusunda endişeli iseniz, sadece domain / dizin / etc mutlak yolu ile bir yapılandırma değişkeni oluşturun

Sen "root-relative" yolları kullanabilirsiniz. Basitçe, yani başında bir eğik çizgi ile her şey bağlantı

<img src="/images/logo.png">

Bu yoursite.com her sayfasında http://yoursite.com/images/logo.png için çözecektir.

Ben root-göreceli yolları kullanmak, öncelikle öneririm. Bu sadece başka bir ana sitenizin hareketli komplikasyonları azaltmak için, ve aynı zamanda (yerine betiğin varlık vadede yerden test etmek için bir if() koşulunu kullanarak daha) tutarlı yolları için izin verir.

Ama aksi takdirde, sizin öneri iyi olurdu.

sadece kök akrabası olarak tüm yolları belirtmek

<img src="/images/logo.png"> <!-- will work anywhere  -->

Ben bir uygulama taban URL gibi bir şey kullanmak istiyorsunuz:

define('APP_URL', 'http://example.com/path/to/app');
echo '<img src="'.APP_URL.IMAGE_PATH.'">';

Ya da daha uygun olması için, mutlak bir URL için göreli URL giderir bir fonksiyon yazın.