今天我们来学习下php常见的系统函数server和files

自己做的开发项目并不是很多,$_SERVER 和$_FILES ,这两个常用的方法通常是用来操作url  和文件的上传,我用了今天一天的时间来熟悉这个两个常用的函数,并且做些总结,如果有需要的朋友,也可以看看

  1. <?php
  2. //浏览器部分的一些信息
  3. echo $_SERVER[‘PHP_SELF‘]."<br />"; //该函数输出的是你的当前的打开的文件的名称,如:/default.php
  4. echo $_SERVER[‘GATEWAY_INTERFACE‘]."<br />"; //输出你的CGI(网关接口)的信息,如:CGI/1.1
  5. echo $_SERVER[‘HTTP_ACCEPT‘]."<br />";
  6. echo $_SERVER[‘HTTP_ACCEPT_LANGUAGE‘]."<br />"; //浏览器使用的语言
  7. echo $_SERVER[‘HTTP_CONNECTION‘]."<br />"; //前请求的 Connection: 头部的内容。
  8. //用户方面常用到的一些函数
  9. echo $_SERVER[‘REMOTE_ADDR‘]."<br />"; #正在浏览当前页面用户的 IP 地址。如:127.0.0.1
  10. echo $_SERVER[‘REMOTE_HOST‘]."<br />"; #正在浏览当前页面用户的主机名。
  11. echo $_SERVER[‘REMOTE_PORT‘]."<br />"; #用户连接到服务器时所使用的端口。 如:56634 ,php是无法获取用户的mac地址的
  1. //服务器端的一些函数
  2. echo $_SERVER[‘SERVER_ADMIN‘]."<br />";//管理员信息
  3. echo $_SERVER[‘SERVER_PORT‘]."<br />" ;#服务器所使用的端口 ,如:80
  4. echo $_SERVER[‘SCRIPT_FILENAME‘]."<br />"; #当前执行脚本的绝对路径名。如:F:/www1/default.php
  5. echo $_SERVER[‘DOCUMENT_ROOT‘]."<br />"; //该函数的作用是输入你的站点的所在的位置,如:F:/www1
  6. echo $_SERVER[‘REQUEST_METHOD‘]."<br />" ; //用户访问该页面的请求方法
  7. //关于url 的一些函数
  8. echo $_SERVER[‘QUERY_STRING‘]."<br />"; //查询(query)的字符串,但是感觉像是通过get方式传递的参数
  9. echo $_SERVER[‘HTTP_HOST‘]."<br>"; #localhost
  10. echo $_SERVER[‘PHP_SELF‘]."<br>"; //获取网页地址 #/blog/testurl.php
  11. echo $_SERVER["QUERY_STRING"]."<br>"; //获取网址参数 #id=5
  12. echo $_SERVER[‘HTTP_REFERER‘]."<br>";//获取用户代理
  13. //获取完整的url
  14. echo ‘http://‘.$_SERVER[‘HTTP_HOST‘].$_SERVER[‘REQUEST_URI‘];
  15. echo ‘http://‘.$_SERVER[‘HTTP_HOST‘].$_SERVER[‘PHP_SELF‘].‘?‘.$_SERVER[‘QUERY_STRING‘];#http://localhost/blog/testurl.php?id=5
  1. echo ‘http://‘.$_SERVER[‘SERVER_NAME‘].‘:‘.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; //包含端口号的完整url#http://localhost:80/blog/testurl.php?id=5
  2. $url=‘http://‘.$_SERVER[‘SERVER_NAME‘].$_SERVER["REQUEST_URI"];
  3. echo dirname($url);//只取路径 #http://localhost/blog
  1. ?>
  2. <!------------------获取用户的mac地址------------------------>
  3. <?php
  4. @exec("arp -a",$array); //执行arp -a命令,结果放到数组$array中
  5. echo "<pre>";
  6. print_r($array); //打印获取的数组
  7. foreach($array as $value)
  8. {
  9. if( //匹配结果放到数组$mac_array
  10. strpos($value,$_SERVER["REMOTE_ADDR"]) &&
  11. preg_match("/(:?[0-9a-f]{2}[:-]){5}[0-9a-f]{2}/i",$value,$mac_array)
  12. )
  13. {
  14. $mac = $mac_array[0];
  15. break;
  16. }
  17. }
  18. echo $mac; //输出客户端MAC
  19. ?>

 

关于mac地址,我在测试的时候能够获取到局域网站的其他的账户的mac,但是自己的mac就是无法获取到,不知道是什么情况,难道是我的环境的问题 ?稍后再处理吧!

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。