当前位置:Gxlcms > PHP教程 > php下载图片出现链接被重置

php下载图片出现链接被重置

时间:2021-07-01 10:21:17 帮助过:38人阅读

我的代码是这样的:

  1. <code><!--?php
  2. $url = $_GET['img'];
  3. $filename = basename($url);
  4. $img = grabImage($url,$filename);
  5. echo '<img src="https://img.gxlcms.com/https://img.gxlcms.com/'.$img.'"-->';
  6. function grabImage($url,$filename){
  7. if ($url == "") return false;
  8. ob_start();
  9. readfile($url);
  10. $img = ob_get_contents();
  11. ob_end_clean();
  12. $fp = @fopen($filename,"a");
  13. fwrite($fp,$img);
  14. fclose($fp);
  15. return $filename;
  16. }
  17. ?>
  18. </code>

然后访问http://test.com/?img=https://scontent.cdninstagram.com/t51.2885-15/s640x640/sh0.08/e35/12950259_974006612694869_608041607_n.jpg出现链接被重置,该怎么改?使用表单传递url可以正常下载。

回复内容:

我的代码是这样的:

  1. <code><!--?php
  2. $url = $_GET['img'];
  3. $filename = basename($url);
  4. $img = grabImage($url,$filename);
  5. echo '<img src="https://img.gxlcms.com/https://img.gxlcms.com/'.$img.'"-->';
  6. function grabImage($url,$filename){
  7. if ($url == "") return false;
  8. ob_start();
  9. readfile($url);
  10. $img = ob_get_contents();
  11. ob_end_clean();
  12. $fp = @fopen($filename,"a");
  13. fwrite($fp,$img);
  14. fclose($fp);
  15. return $filename;
  16. }
  17. ?>
  18. </code>

然后访问http://test.com/?img=https://scontent.cdninstagram.com/t51.2885-15/s640x640/sh0.08/e35/12950259_974006612694869_608041607_n.jpg出现链接被重置,该怎么改?使用表单传递url可以正常下载。

因为表单传入的参数值会进行urlencode。
因为你直接url来访问,img的参数值中有'/',没有urlencode;

人气教程排行