分享一段利用PHP将网址快捷方式保存到桌面的代码,不知道为什么我在360里面不使用urlencode的话,得到的中文文件名会乱码,而在火狐里面必须使用urldecode,使用urlencode也会导致文件名乱码,这个问题先搁置一下,以后有空再研究,但还是可以通过使用php判断浏览器类型来分别使用不同的方法解决了这个乱码的问题,具体函数代码如下。
/* * url 连接地址 * filename 存储文件名称 */ function downloadShortcuts($url,$filename){ //首先判断浏览器类型 $user_agent=$_SERVER['HTTP_USER_AGENT']; if(false!==strpos($user_agent,'Firefox')){ $filename=urldecode($filename); }else{ $filename=urlencode($filename); } //生成快捷方式并下载 www.phpernote.com $Shortcuts='[InternetShortcut] URL='.$url.' IDList= [{000214A0-0000-0000-C000-000000000046}] Prop3=19,2'; Header('Content-type: application/octet-stream'); header('Content-Disposition: attachment; filename='.$filename.'.url;'); echo $Shortcuts; }
调用示例如下:
downloadShortcuts('http://www.phpernote.com/','php程序员的笔记');