Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem PHP - Získání URL z volané stránky

Dobrý den. Potřeboval bych poradit s PHP, kde mám dva soubory každý umístěný v jiné složce a používám funkci require_once pro zavolání druhého souboru kde potřebuji získat jeho URL a tu zobrazit v prvním.

1.php
Cesta: .../1.php
Část scriptu, volající 2.php:

require_once(realpath(dirname(__FILE__).'/styles/green/2.php'));

2.
Cesta: .../styles/green/2.php
Část scriptu, která je volaná:

echo (isset($_SERVER['HTTPS']) ? "https" : "http") . "://".$_SERVER['HTTP_HOST'].dirname($_SERVER['REQUEST_URI']).'/images/3.png';

3. Obrázek
Cesta: .../styles/green/images/3.png

Cestu chci získat, protože v soubor 2.php generuje CSS kde se v 1.php snažím získat URL pro načtení obrázku šablony 3.png a k tomu potřebuji cestu ve formátu http://domena.dom/styles/green/images/3.png (lokální cesty CSS neakceptuje)

Cesta, kterou mi tento script vrací je URL toho souboru 1.php

Soubor 2.php (CSS) je volaný více soubory v různých úrovních adresářové struktury. Jde mi o to, aby byla souborům, které volají 2.php tento script vrátil cestu, kde je uložený ten obrázek ve formátu http://... nebo jiným způsobem, aby šel obrázek zobrazit. Nevím jak to udělat. Můžete poradit?

Zkusil jsem i řešení:
1.php:

$ROOT = '../';
require_once(realpath(dirname(__FILE__).'/styles/green/2.php'));

2.php:

echo (isset($_SERVER['HTTPS']) ? "https" : "http") . "://".$_SERVER['HTTP_HOST'].dirname($_SERVER['REQUEST_URI']).$ROOT.'/images/3.png';

Ale místo aby to pracovalo jako s adresářovou strukturou to jen doplní do URL ../

Předmět Autor Datum
Vyřešeno: Do 2.php stačilo dát funkci: function pathToURL() { $path = str_replace("\\", "/", realp… poslední
truefriend-cz 21.08.2017 13:01
truefriend-cz

Vyřešeno:

Do 2.php stačilo dát funkci:

function pathToURL() {
	$path = str_replace("\\", "/", realpath(dirname(__FILE__)));
	$pos = strpos($path, $_SERVER['DOCUMENT_ROOT']);
	if ($pos === false) return false;
	return (isset($_SERVER['HTTPS']) ? 'https' : 'http').'://'.$_SERVER['SERVER_NAME'].substr($path, strlen($_SERVER['DOCUMENT_ROOT']));
}

a pak ji v 2.php zavolat:

".pathToURL().'/images/3.png'."

1.php se nezměnilo

Zpět do poradny Odpovědět na původní otázku Nahoru