用preg_match,截取网址,传递参数不成功怎么处理?

PHP中文网
풀어 주다: 2016-06-27 13:18:07
원래의
1030명이 탐색했습니다.

我想在一个网站调用另一个网站的数据,这样两个网站就可以调用同一个数据,都像  
 
在本地调用的一样。  
 
如:我的网站a和网站b  
 
如果我输入:http://www.a.com/x.php/123/456.rar  
实际上调用的是:http://www.b.com/123/456.rar(真实的文件存放地址)  
下载的时候仍然显示是从www.a.com下载的。  
 
我的x.php是这样的:  

<?php  
 header("content-Type: text/html; charset=Utf-8");  
 $SERVER=$_SERVER["REQUEST_URI"];  
 preg_match("/php\/([\s\S]+)\.rar/",$SERVER,$url);  
 $urlname=$url[1];  
 $songurl=&#39;http://www.b.com/&#39;.$urlname.&#39;/&#39;;  
 header("location:$songurl");  
 ?>
로그인 후 복사

 
就是通过这段代码将第一个网址中的123传递给第二个网址。  
可我上面的代码并没有传递成功:  
我输入http://www.a.com/x.php/123/456.rar,显示第二网址是:  
 
http://www.b.com。网址中并没有显示"123".请问下我要做怎么的修改,才能让第二个网址得到传递的参数“123”和“456”的参数。

解决方案

1、首先确认下  
$_SERVER["REQUEST_URI"] 里面的内容是否是 x.php/123/456.rar  
2、正则其实改为  
preg_match("/php\/([\s\S]+\.rar)/",$SERVER,$url);  
$urlname=$url[1];  
$songurl='http://www.b.com/'.$urlname; // 这样才能拼凑成一个http://www.b.com/123/456.rar后缀以rar结尾的链接

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿