• 技术文章 >后端开发 >php教程

    PHP 保存到桌面的代码,怎么加ICO图标跟乱码问题呢

    2016-06-23 13:20:18原创1428
    $shortCut = "[InternetShortcut]URL=http://www.xxx.com/?zuomian2015IDList=[{000214A0-0000-0000-C000-000000000046}]Prop3=19,2";Header("Content-type: application/octet-stream");header("Content-Disposition: attachment; filename=某某网站.url;");echo $shortCut;


    保存为UTF8模式下,CHROME下载正常,IE9下就某某网站变成乱码了
    保存为ANSI格式下,CHROME下载某某网站变成乱码了,IE9又没变正常了


    回复讨论(解决方案)

    $shortCut = "[InternetShortcut]URL=http://www.xxx.com/?zuomian2015IDList=[{000214A0-0000-0000-C000-000000000046}]Prop3=19,2";Header("Content-type: application/octet-stream");$filename = '某某网站.url';$user_agent = $_SERVER['Http_User_agent'];$encode_filename = rawurlencode($filename);if(preg_match("/MSIE/", $user_agent)){	header('content-disposition:attachment; filename="'.$encode_filename.'"');}else if(preg_match("/Firefox/", $user_agent)){	header("content-disposition:attachment; filename*=\"utf8''".$filename.'"');}else{	header('content-disposition:attachment; filename="'.$filename.'"');}echo $shortCut;

    $shortCut = "[InternetShortcut]URL=http://www.xxx.com/?zuomian2015IDList=[{000214A0-0000-0000-C000-000000000046}]Prop3=19,2";Header("Content-type: application/octet-stream");$filename = '某某网站.url';$user_agent = $_SERVER['Http_User_agent'];$encode_filename = rawurlencode($filename);if(preg_match("/MSIE/", $user_agent)){	header('content-disposition:attachment; filename="'.$encode_filename.'"');}else if(preg_match("/Firefox/", $user_agent)){	header("content-disposition:attachment; filename*=\"utf8''".$filename.'"');}else{	header('content-disposition:attachment; filename="'.$filename.'"');}echo $shortCut;



    可以加个ICO图标吗?

    IconFile=图标路径 加这个参数

    IconFile=图标路径 加这个参数


    $shortCut = "[InternetShortcut]URL=http://www.xxx.com/?zuomian2015IconFile=/favicon.icoIDList=[{000214A0-0000-0000-C000-000000000046}]Prop3=19,2";Header("Content-type: application/octet-stream");header("Content-Disposition: attachment; filename=某某网站.url;");echo $shortCut;



    这样无效,没反应

    要用http://的

    要用http://的


    $shortCut = "[InternetShortcut]URL=http://www.xxx.com/?zuomian2015IconFile=http://c.csdnimg.cn/public/favicon.icoIDList=[{000214A0-0000-0000-C000-000000000046}]Prop3=19,2";Header("Content-type: application/octet-stream");header("Content-Disposition: attachment; filename=某某.url;");echo $shortCut;


    还是无效

    写法本身没错,你现在实际显示的图标是浏览器图标吧?

    你改成这样看看
    IconFile=http://www.vcoo.cc/favicon.ico

    原因是图标格式不合要求

    参考: http://blog.csdn.net/fdipzone/article/details/50423613

    写法本身没错,你现在实际显示的图标是浏览器图标吧?

    你改成这样看看
    IconFile=http://www.vcoo.cc/favicon.ico

    原因是图标格式不合要求



    换成这个ico一样也不行,还是显示的是浏览器图标,就是CHROME图标了

    参考: http://blog.csdn.net/fdipzone/article/details/50423613



    感谢写了篇长文,但是经测试还是不能正常显示图标,不知道会否跟浏览器跟系统有关呢

    那我就不知知道了
    在我这里
    IconFile=http://c.csdnimg.cn/public/favicon.ico 不行
    IconFile=http://www.vcoo.cc/favicon.ico 可以

    写法本身没错,你现在实际显示的图标是浏览器图标吧?

    你改成这样看看
    IconFile=http://www.vcoo.cc/favicon.ico

    原因是图标格式不合要求



    大婶,你还没退休啊? 新年快乐哈

    找到原因了。如果你保存的网站.url是在收藏夹中收藏过的。就会显示到图标,否则不能显示图标。

    因为那个图标是读浏览器缓存的。如果缓存中没有这个图标,则不显示。

    例如你要做一个百度的
    那么首先要收藏百度在浏览器。

    然后IconFile=百度的favicon地址

    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:部署社交网站 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• PHP与MySQL连接的方法总结• 工具包分享:PHP实现滑块验证图片• PHP5中Cookie与 Session使用详解_PHP• Zend引擎的发展[15]_PHP• 针对初学PHP者的疑难问答_PHP
    1/1

    PHP中文网