博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代码实现PHP web服务器下绝对路径到Web网址的转换
阅读量:5999 次
发布时间:2019-06-20

本文共 2063 字,大约阅读时间需要 6 分钟。

代码实现PHP web服务器下绝对路径到Web网址的转换

代码中用到几个系统变量或常量:

1. 路径中各目录分隔字符 DIRECTORY_SEPARATOR(常量),Windows下DIRECTORY_SEPARATOR是\\,Linux下是/ 。

2. 变量$_SERVER['HTTP_HOST']可以返回Web服务器带端口的主机地址(比如 localhost:8080),$_SERVER['SERVER_NAME']可返回不带端口的主机地址。

3. 常量__FILE__返回当前文件的绝对地址,而dirname(__FILE__)返回当前文件所在目录的绝对地址...

另外,提一下变量$_SERVER['PHP_SELF']

该变量返回当前执行脚本的文件名,与document root有关。例如,在地址为http://example.com/test.php/foo.bar 的脚本中使用$_SERVER['PHP_SELF'] 将得到 /test.php/foo.bar

代码1:

文件名: path_test.php

实现将web服务器下绝对路径(文件路径或目录的路径皆可)转换为Web网址...

';function Path2webURL($path) // Absolute File path or Directory path to WebURL{ $wwwDir='C:/AppServ/www'; $path=str_replace(DIRECTORY_SEPARATOR, '/', $path); // 将DIRECTORY_SEPARATOR都替换为/,便于统一处理 $ServerDomain=$_SERVER['HTTP_HOST']; // with port $webURL='http://'.str_ireplace($wwwDir, $ServerDomain, $path); return $webURL;}$test1='C:/AppServ/www/ccc';$test2=__FILE__; // Windows下DIRECTORY_SEPARATOR是\\,Linux下是/echo $test2.'
+++++
';$test3=dirname(__FILE__); // Windows下DIRECTORY_SEPARATOR是\\,Linux下是/echo $test3.'
+++++
';echo Path2webURL($test1).'
------
';echo Path2webURL($test2).'
------
';echo Path2webURL($test3).'
------
';?>

代码1中需要根据具体的操作系统去手动调整Windows或Linux下的目录(即:变量$wwwDir),改进一下,可以写出代码2,对Windows或Linux都通用...

代码2:

';function Path2webURL($path) // Absolute File path or Directory path to WebURL{ $wwwDir=array('C:/AppServ/www','/var/www'); // 分别设置Windows和Linux下www文件夹所在路径 $path=str_replace(DIRECTORY_SEPARATOR, '/', $path); // 将DIRECTORY_SEPARATOR都替换为/,便于统一处理 $ServerDomain=$_SERVER['HTTP_HOST']; // with port $webURL='http://'.str_ireplace($wwwDir, array($ServerDomain, $ServerDomain), $path); return $webURL;}$test1='C:/AppServ/www/ccc';$test2=__FILE__; // Windows下DIRECTORY_SEPARATOR是\\,Linux下是/echo $test2.'
+++++
';$test3=dirname(__FILE__); // Windows下DIRECTORY_SEPARATOR是\\,Linux下是/echo $test3.'
+++++
';$test4='/var/www/ddd';echo Path2webURL($test1).'
------
';echo Path2webURL($test2).'
------
';echo Path2webURL($test3).'
------
';echo Path2webURL($test4).'
------
';?>

转载于:https://www.cnblogs.com/enjoy233/p/10408792.html

你可能感兴趣的文章
Oracle 索引(学习笔记)
查看>>
我的助理辞职了!
查看>>
iptables防火墙
查看>>
从零开始安装Android Studio并快速配置SDK的方法
查看>>
使用jmx监控tigase状态简单说明
查看>>
软件嘉年华OpenCTF Reverse第一题解答
查看>>
gulp前端自动化构建工具使用
查看>>
想要做一名android开发人员···
查看>>
linux ACL权限的使用
查看>>
C#基础知识面试题
查看>>
[陶冶情操]想你是一种美
查看>>
python中协程
查看>>
magic_quotes_runtime 的作用
查看>>
出问题是好事。
查看>>
git clean用法
查看>>
061.Linux查看SAS 6/iR卡的信息工具-lsiutil
查看>>
mysql 源码安装
查看>>
hive查询hdfs数据时,遇到的两个hadoop配置问题
查看>>
HTML5游戏开发经验及开发工具分享
查看>>
hadoop及hbase集群增加节点
查看>>