PHP中打开URL地址的几种方法总结,这里的函数主要用于小偷采集等函数。1: 用file_get_contents 以get方式获取内容 复制代码 代码如下:<?php $url='http://www.baidu.com/'; $html = file_get_contents($url); //print_r($http_response_header); ec($html); printhr(); printarr($http_response_header); printhr(); ?> 示例代码2: 用fopen打开url, 以get方式获取内容 复制代码 代码如下:<? $fp = fopen($url, 'r'); printarr(stream_get_meta_data($fp)); printhr(); while(!feof($fp)) { $result .= fgets($fp, 1024); } echo "url body: $result"; printhr(); fclose($fp); ?> 示例代码3:用file_get_contents函数,以post方式获取url 复制代码 代码如下:<?php $data = array ('foo' => 'bar'); $data = http_build_query($data); $opts = array ( 'http' => array ( 'method' => 'POST', 'header'=> "Content-type: application/x-www-form-urlencoded" . "Content-Length: " . strlen($data) . "", 'content' => $data ), ); $context = stream_context_create($opts); $html = file_get_contents('http://localhost/e/admin/test.html', false, $context); echo $html; ?> 示例代码4:用fsockopen函数打开url,以get方式获取完整的数据,包括header和body 复制代码 代码如下:<? function get_url ($url,$cookie=false) { $url = parse_url($url); $query = $url[path]."?".$url[query]; ec("Query:".$query); $fp = fsockopen( $url[host], $url[port]?$url[port]:80 , $errno, $errstr, 30); if (!$fp) { return false; } else { $request = "GET $query HTTP/1.1"; $request .= "Host: $url[host]"; $request .= "Connection: Close"; if($cookie) $request.="Cookie: $cookie\n"; $request.=""; fwrite($fp,$request); while(!@feof($fp)) { $result .= @fgets($fp, 1024); } fclose($fp); return $result; } } //获取url的html部分,去掉header function GetUrlHTML($url,$cookie=false) { $rowdata = get_url($url,$cookie); if($rowdata) { $body= stristr($rowdata,""); $body=substr($body,4,strlen($body)); return $body; } return false; } ?>
#测试网址: http://localhost/blog/testurl.php?id=5//获取域名或主机地址 echo $_server['http_host'].""; #localhost//获取网页地址 echo $_server['php_self'].""; #/blog/testurl.php//获取网址参数 echo $_server["query_string"].""; #id=5//获取用户代理 echo $_server['http_referer'].""; //获取完整的urlecho 'http://'.$_server['http_host'].$_server['request_uri'];echo 'http://'.$_server['http_host'].$_server['php_self'].'?'.$_server['query_string'];#http://localhost/blog/testurl.php?id=5//包含端口号的完整urlecho 'http://'.$_server['server_name'].':'.$_server["server_port"].$_server["request_uri"]; #http://localhost:80/blog/testurl.php?id=5//只取路径$url='http://'.$_server['server_name'].$_server["request_uri"]; echo dirname($url);#http://localhost/blog
你装一个wamp然后把php文件放在wamp的安装路径的www文件夹下 即可 然后在浏览器中输入localhost/php文件名 比如为123.php那就输入localhost/123.php
使用超级全局变量$_GET可以访问地址栏的参数,例如调用地址为:abc.php?param=val123 $_GET['param']的值就是'val123'
不是很明白你的意思,我想可能是这样的吧。(以下仅代表个人意见,不喜勿喷)1、编写的php项目放在哪里。(这个的话如果你是用集成开发环境的话,比如zend,可以在文件菜单下-》更改工作目录中查看到当前项目所在的目录。不过一般在开发的时候都是直接指向apache服务器下的htdocs目录下)2、查看当前php所在的路径,如下(注:本程序为复制粘贴,感谢原作者的奉献!)<?php echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\ echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\ ?>
当然有办法,你下载一个smarty template 或是 smartemplate看看,里面找include 这样写global.php:<? include("abc.php"); index.php:include "global.php";这个abc.php是相对global.php的,所以无论global.php被哪个目录下的文件正确引用,都可以找到abc.php
楼上说的对,没必要搞这么深,而且脱离了你的主题就更没意思了。$arrayCopy是$arr的copy,两者没有关系,如果你希望那样的话可以用$arrayCopy = &$arr,此时$arrayCopy是$arr的引用,也就是说修改这个时那个也变了。php中的对象实例是引用方式传递的,其他一般都是传值,除非加&表示传址。本回答被提问者采纳
首先地址是链去http://adc.go.sohu.com/200612/d49302ca1e18e2e29304594251630569.php这一个页面,然后?号后面的是变量,就是说$url的值是http://q.fsdfdsfdsf.cn 第二个http不是起http协议的作用,只是$url变量里的一部分如果地址改成这样会不会容易了解http://adc.go.sohu.com/200612/d49302ca1e18e2e29304594251630569.php?url=11个http://q.fsdfdsfdsf.cn 都只是$url这个变量的值而已.本回答被提问者采纳
想要批量替换?可以使用正则或者写程序事先替换好