与
ESC
输入关键词搜索文章

php使用copy下载远程图片返回成功实际为0KB空文件

全文约 311 字预计阅读 2 分钟
环境php5.3.29使用copy函数下载远程图片,结果怎么都不成功, 一开始print_r打印变量出来结果是 https://nimg.ws.126.net/?url=http%3A%2F%2Fpic-bucket.ws.126.net%2Fphoto%2F0008%2F2020-10-10%2FFOJH969S2O3F0008NOS.jpg&thumbnail=660x2147483647&quality=80&type=jpg 这样地址栏也能正常访问,复制上面打印出来的地址copy也能实在,可实际上它不是上面的url,界面打印出来已经经过浏览器转换了,所以是正常的,实际上url如下 https://nimg.ws.126.net/?url=http%3A%2F%2Fpic-bucket.ws.126.net%2Fphoto%2F0008%2F2020-10-10%2FFOJH969S2O3F0008NOS.jpg&thumbnail=660x2147483647&quality=80&type=jpg 一定要通过查看页面源码才能看到,不能通过界面直接复制,通过页面看也会导致你直接用var_dump打印出来后长度是不一样,内容却一样的错误效果。 上面这个地址通过copy就没办法正常下载了,最后测试是因为包含了&实体hmlt就无法正常下载了,需要转义,修改如下。 echo copy(html_entity_decode('https://nimg.ws.126.net/?url=http%3A%2F%2Fpic-bucket.ws.126.net%2Fphoto%2F0008%2F2020-10-10%2FFOJH969S2O3F0008NOS.jpg&thumbnail=660x2147483647&quality=80&type=jpg'),'/data/temp/netpc.com.cn.jpg');
php使用copy下载远程图片返回成功实际为0KB空文件
分享

发表评论

评论 0 条

暂无评论,来说点什么吧。