php 绝对路径调用脚本,php - 获取当前脚本的绝对路径 - SO中文参考 - www.soinside.com...

例如:https://(www.)example.com/subFolder/myfile.php?var=blabla#555

// ======= PATHINFO ====== //

$x = pathinfo($url);

$x['dirname'] 🡺 https://example.com/subFolder

$x['basename'] 🡺 myfile.php?

$x['extension'] 🡺 php?k=blaa#12345 // Unsecure! also, read my notice about hashtag parts

$x['filename'] 🡺 myfile

// ======= PARSE_URL ====== //

$x = parse_url($url);

$x['scheme'] 🡺 https

$x['host'] 🡺 example.com

$x['path'] 🡺 /subFolder/myfile.php

$x['query'] 🡺 k=blaa

$x['fragment'] 🡺 12345 // ! read my notice about hashtag parts

//=================================================== //

//========== self-defined SERVER variables ========== //

//=================================================== //

$_SERVER["DOCUMENT_ROOT"] 🡺 /home/user/public_html

$_SERVER["SERVER_ADDR"] 🡺 143.34.112.23

$_SERVER["SERVER_PORT"] 🡺 80(or 443 etc..)

$_SERVER["REQUEST_SCHEME"] 🡺 https //similar: $_SERVER["SERVER_PROTOCOL"]

$_SERVER['HTTP_HOST'] 🡺 example.com (or with WWW) //similar: $_SERVER["ERVER_NAME"]

$_SERVER["REQUEST_URI"] 🡺 /subFolder/myfile.php?k=blaa

$_SERVER["QUERY_STRING"] 🡺 k=blaa

__FILE__ 🡺 /home/user/public_html/subFolder/myfile.php

__DIR__ 🡺 /home/user/public_html/subFolder //same: dirname(__FILE__)

$_SERVER["REQUEST_URI"] 🡺 /subFolder/myfile.php?k=blaa

parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH)🡺 /subFolder/myfile.php

$_SERVER["PHP_SELF"] 🡺 /subFolder/myfile.php

// ==================================================================//

//if "myfile.php" is included in "PARENTFILE.php" , and you visit "PARENTFILE.PHP?abc":

$_SERVER["SCRIPT_FILENAME"]🡺 /home/user/public_html/parentfile.php

$_SERVER["PHP_SELF"] 🡺 /parentfile.php

$_SERVER["REQUEST_URI"] 🡺 /parentfile.php?abc

__FILE__ 🡺 /home/user/public_html/subFolder/myfile.php

// =================================================== //

// ================= handy variables ================= //

// =================================================== //

//If site uses HTTPS:

$HTTP_or_HTTPS = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS']!=='off') || $_SERVER['SERVER_PORT']==443) ? 'https://':'http://' ); //in some cases, you need to add this condition too: if ('https'==$_SERVER['HTTP_X_FORWARDED_PROTO']) ...

//To trim values to filename, i.e.

basename($url) 🡺 myfile.php

//excellent solution to find origin

$debug_files = debug_backtrace();

$caller_file = count($debug_files) ? $debug_files[count($debug_files) - 1]['file'] : __FILE__;

注意!:

hashtag(#...)无法从PHP(服务器端)检测到URL部分。为此,请使用JavaScript。

DIRECTORY_SEPARATOR返回\用于Windows类型的托管,而不是/。

For WordPress

//(let's say, if wordpress is installed in subdirectory: http://example.com/wpdir/)

home_url() 🡺 http://example.com/wpdir/ //if is_ssl() is true, then it will be "https"

get_stylesheet_directory_uri() 🡺 http://example.com/wpdir/wp-content/themes/THEME_NAME [same: get_bloginfo('template_url') ]

get_stylesheet_directory() 🡺 /home/user/public_html/wpdir/wp-content/themes/THEME_NAME

plugin_dir_url(__FILE__) 🡺 http://example.com/wpdir/wp-content/themes/PLUGIN_NAME

plugin_dir_path(__FILE__) 🡺 /home/user/public_html/wpdir/wp-content/plugins/PLUGIN_NAME/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值