I am trying to get the base path of the documents through a function as I do not want to find the paths like ../folder1/folder2/mypage.php
or ../../../folder1/folder2/somepage.php
.
Therefore I tried...
function getBaseUrl() {
// output: /myproject/index.php
$currentPath = $_SERVER['PHP_SELF'];
// output: Array ( [dirname] => /myproject [basename] => index.php [extension] => php [filename] => index )
$pathInfo = pathinfo($currentPath);
// output: localhost
$hostName = $_SERVER['HTTP_HOST'];
// output: http://
$protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https://'?'https://':'http://';
// return: http://localhost/myproject/
return $protocol.$hostName.$pathInfo['dirname']."/";
}
Then i give write the code...
$base = getBaseUrl();
require_once $base.'_include/db/qry.php';
require_once $base.'_include/db/functions.php';
Both the files qry.php
& functions.php
is in http://localhost/mysite/_include/db/
While i run the page, error shows ...
Warning: require_once(): http:// wrapper is disabled in the server configuration by allow_url_include=0 in C:\xampp\htdocs\mysite\_include\header.php on line 9
Warning: require_once(http://localhost/mysite/_include/db/qry.php): failed to open stream: no suitable wrapper could be found in C:\xampp\htdocs\mysite\_include\header.php on line 9
Fatal error: require_once(): Failed opening required 'http://localhost/mysite/_include/db/qry.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\mysite\_include\header.php on line 9
I tried by echoing the getBaseUrl() like echo $base;
and it is showing the right path i.e. http://localhost/mysite/
.
What should I do ?
The <base> tag specifies the base URL and/or target for all relative URLs in a document. The <base> tag must have either an href or a target attribute present, or both. There can only be one single <base> element in a document, and it must be inside the <head> element.
basePath is the URL prefix for all API paths, relative to the host root. It must start with a leading slash / . If basePath is not specified, it defaults to / , that is, all paths start at the host root. Valid base paths: /v2.
The base URL can be retrieved from a string using PHP parse_url() function. The following code snippet shows how to get base URL from URL string with PHP. PHP_URL_SCHEME – This component returns URL scheme (http/https). PHP_URL_HOST – This componenet returns host name (example.com/www.example.com).
The URL found in the address bar of the front page of a website is its base URL. In other words, the common prefix found while navigating inside a given website is known as the base URL. One can select a base URL from the list of those available with help of the URL general properties page.
you can use $_SERVER['DOCUMENT_ROOT']
You should just use the absolute path on the server instead of url.
You could get the base path by using __DIR__
.
For example:
// just example, change to fit your real path.
$base = __DIR__ . '/../';
require_once $base.'_include/db/qry.php';
require_once $base.'_include/db/functions.php';
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With