首页 >后端开发 >php教程 >PHP 保存到桌面的代码,怎么加ICO图标跟乱码问题呢

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

WBOY
WBOY原创
2016-06-23 13:20:182650浏览

$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地址

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