> 백엔드 개발 > PHP 튜토리얼 > PHP 保存到桌面的代码,怎么加ICO图标跟乱码问题呢

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

WBOY
풀어 주다: 2016-06-23 13:20:18
원래의
2678명이 탐색했습니다.

$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.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿