我一直用这个程序来做网站的远程图片显示
网站的图片地址都是类似的
http://www.域名.com/pic.php?p=http://www.baidu.com/img/baidu_sylogo1.gif
这样,我的网站就不需要本地图片了。
其中pic.php是这样写的
<?php 
$p=$_GET['p']; 
$pics=file($p); 
for($i=0;$i<count($pics);$i++) 

echo $pics[$i]; 

?> 现在出了点状况
那就是远程图片地址都做了跳转
比如
某图片的地址是
http://www.finerbuy.com/pic.php?p=http://mas.prd.am-img.com/2012/08/13/A4SELFAA0011144/3.jpg原图片地址是http://mas.prd.am-img.com/2012/08/13/A4SELFAA0011144/3.jpg
但是真正访问这个发图片的时候,图片地址跳转为
http://ta.img.cn.amgbs.com/mas/2012/08/13/A4SELFAA0011144/3.jpg结果,我的网站图片就全都无法显示了
请人看了一下,说是图片地址都做了302跳转
所以请高手们看看,我的那个pic.php要怎么修改?
最好直接写出代码,我是外行
多谢各位

解决方案 »

  1.   

    大侠,能不能帮忙写一下代码啊
    虽然这样说有点不劳而获的意思,但我确实是不懂这PHP啊
    想写也写不出来
      

  2.   

    我只知道用curl的方法,curl中可以设置获取返回头的,然后从返回的字符串中提取出location的值
      

  3.   


    $p=$_GET['p'];  
    $pics=file($p);  
    对$p做个域名替换操作。str_replace.再取数据如何
      

  4.   

    用 curl 吧,没那么复杂,不用自己关心 location 什么的,它自动会 follow redirection,直接把最终结果返回给你。代码还是自己写吧。另外,你原来那个 file() 的方法……我估计你贴出来的代码只是示意性的吧?实际代码这样的话,安全很成问题呀。
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
      

  5.   

    用get_headers函数,读取:Location值。请看下面网址的实例:http://news.51shouce.com/201208/31015146.html
      

  6.   

    我想说,你直接用file()函数………………
    别人能通过这个pic.php把你整个站dump下来,到时候数据库密码神马的都暴露了