麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
url地址传递问题
悬赏分:20 - 2007年08月22日

我刚在学php,做了一个简单的百度mp3歌曲抓取程序,但是传递地址的时候被截断了,想请教下怎么解决。
做这个程序是纯学习,思路是这样的:从新歌100那里截取歌曲列表并替换地址,然后把地址传递到list.php来抓取搜索页的数据,然后在从搜索页传递到播放页面(比如play.php),不知道这样的思路对不对。
两个文件的代码如下:

mp3.php

CODE:
<?
extract($_GET);extract($_POST);
$url = "http://list.mp3.baidu.com/list/newhits.html#top1";
$fp=@fopen($url,"r") or die("链接超时,请刷新!");
$fcontents = file_get_contents($url);
preg_match("/<input type=hidden name=refreshtime value=@_newhits_@>([\s\S]*?)<input type=hidden name=refreshtime value=@-RESBODY-@>/",$fcontents,$lists);
echo $nurl;
$lists = str_replace('<input type=hidden name=refreshtime value=@-RESBODY-@>','</table></body></html>',$lists);
$lists = str_replace('<input type=hidden name=refreshtime value=@_newhits_@>','<html><head><title>新歌100</title></head><body>',$lists);
$lists = str_replace('<a href="','<a href="list.php?t=list&n=',$lists);

echo $lists[0]? $lists[0]:"网站更新中敬请关注";
?&gt;

list.php
CODE:
&lt;?php
if($_GET['t']=="list"){
$purl=($_GET['n']);
echo $purl;
$lines_array = file($purl);
$lines_string = implode('', $lines_array);
eregi('<tr class=\"BlueBG\">(.*)<div style=\"padding-left:12px;padding-right:12px;\">',$lines_string,$plist);
echo $plist;
}
?&gt;

由于地址被截断,所以往下的程序就没写了。这边的问题出在$purl上,本来应该是mp3搜索的地址,不过遇到了&就被截断,每一个输出来的都是http://mp3.baidu.com/m?tn=baidump3 。请教了高手说是进行urlencode 和urldecode。但是$lists = str_replace('
[ 本帖最后由 52php 于 2006-12-11 02:44 AM 编辑 ]

提问者:52php   08-22 12:12
答复
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
54 + 8 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM