2016-11-11 4 views
-2

I 3 App in einem public_html Ordner:Wie in PHP echte Root-URL erhalten (ohne Rahmen)

  • /public_html/myapp_1
  • /public_html/Unterordner/myapp_2
  • /public_html/subfolder3/small/myapp_3

wenn ich laufe myapp_1 als sample.dev => Also ich root url bekam: sample.dev

wenn ich laufe myapp_2 als sample.dev/subfolder => Also ich habe auch root url: sample.dev

wenn ich myapp_3 als sample.dev/subfolder3/small = run> Ich habe auch root url: Probe .dev

Aber, ich will bekommen:

  • url von myapp_2 als "sample.dev/subfolder"
  • url von myapp_3 als "sample.dev/subfolder/small".

Diese aktive wird automatisch mit realen Container-Ordner (nicht festgelegt)

Weil ich haben eine gemeinsame Funktion als erhalten:

Funktion getFullAssetUrl ('style.css');

Diese Funktion zurück:

  • Mit myapp_1 => sample.dev/style.css

  • Mit myapp_2 => sample.dev/subfolder/style.css

  • mit myapp_3 => sample.dev/subfolder3/small/style.css

+0

Was haben Sie versucht, verwenden? –

+0

zeigen Sie Code, den Sie ausprobiert haben. –

Antwort

1

Vielleicht zwei PHP inbuild Funktion nützlich.

$_SERVER['DOCUMENT_ROOT'] 
$_SERVER['HTTP_HOST'] 

ODER verwenden Sie PHP getcwd();

<?php 

// current directory 
echo getcwd() . "\n"; 

chdir('cvs'); 

// current directory 
echo getcwd() . "\n"; 

?> 
+0

Ich habe versucht, mit dem Document-Root, und seine Arbeit für mich, danke –

0

Verwenden base_url

<?php 
    DEFINE('BASE_URL', HTTP_TYPE . "://" . HTTP_ROOT . substr(__DIR__, strlen($_SERVER[ 'DOCUMENT_ROOT' ])) . '/'); 

?>

Oder für aktuelles Verzeichnis, können Sie getcwd()

http://php.net/manual/en/function.getcwd.php

+0

Ihr Code ist gleich wie einige Rahmen, es funktionierte, danke für Ihre Hilfe. –

Verwandte Themen