‘壹’ php在Firefox获取绝对路径
只有IE及IE的一堆马甲(360、遨游等)可以获得绝对路径。
除IE外的其它浏览器,基于安全性与用户隐私等方面的考虑,是不提供绝对路径的。
这个跟PHP没什么关系,就是浏览器的一种隐私保护手段,是没办法获得的。
补充:
不是不能上传,上传肯定是没问题的啊。可能我说的不够清楚,那这样说吧:
Firefox本身是知道你这个图片的绝对路径的,但是,Firefox就是不把这个信息发给你,而是发一个它改装过的替代信息给你。
(Firefox对PHP说:我知道,我就不告诉你!喏,先拿这个顶着用吧!)
这样说明白了吗?
‘贰’ php js引用绝对路径的问题
你基本的概念没有搞清楚。
我们说的绝对路径是指相对于网站根目录而言的。即据对路径是以“/”开头的路径。假设你的网站目录是www目录,下面有个index.php文件以及一个js目录,js目录下有个a.js文件,那么你在index.php中调用js的时候,
使用据对路径调用js应该是:/js/a.js,如:
<script type="text/javascript" src="/js/a.js"></script>
使用相对路径可以用下面两种方式:
<script type="text/javascript" src="./js/a.js"></script>
<script type="text/javascript" src="js/a.js"></script>
我看你在代码里面连磁盘路径都弄出来了,你想想,你放到网上空间,这个路径还存在吗?
换另外一个方面讲,如果你使用的是磁盘路径,你在浏览器中打开的时候,就是使用的是文件浏览器打开的了,所以不会解析,因为你给定的物理路径已经脱离服务器的管辖了。
建议你在学开发的时候先学下web的一些基本知识吧。这些应该都是很基础的了。
‘叁’ php中输出文件的绝对路径
echo $_SERVER['DOCUMENT_ROOT']; //在我的电脑上输出地是D://website
如果还想输出名称 那就这样写:
echo $_SERVER['PHP_SELF']; //我电脑上输出时 /test/a.php
网络一下 php $_SERVER 你可以查看到很多信息。
‘肆’ php在空间的绝对路径怎么知道
htdoc是根目录
//这些都是php内置函数及常量
//htdoc/admin/list.php调用htdoc/include/config.inc.php
//楼上$_SERVER['DOCUMENT_ROOT']在虚拟空间获取的路径是不准确的。
$tempdir = str_replace("\\","/",substr(dirname(__FILE__),0,-6));
//这样做可以避免在虚拟空间站找不到路径的问题
require $tempdir."/include/config.inc.php";
‘伍’ php 使用$_FILES 能否获得上传文件的绝对地址
不能的。
HTTP协议对所碧神蠢上传文件,在用户本地计算机中的路径不予上传,仅提供文件在本地计悔陪算机中的文件名。而PHP预定义变量$_FILES,是PHP解析文件上传的HTTP请求后自动创建的变量,所以无法获取到HTTP协议中不包含的信息。
如果要获取上传文件在服务器中的路径,可以使用以下代码获取:
$_FILES[field_name]["tmp_name"瞎姿]