PHP 保存到桌面的代码,怎么加ICO图标跟乱码问题呢
$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地址