php生成网页桌面快捷方式

yipeiwu_com5年前PHP代码库

本文将介绍使用PHP生成网页桌面快捷方式的代码,并添加图标及解决不同浏览器保存出现的乱码问题。

我们访问网站时,如果网站的内容很有吸引,一般我们都会使用浏览器的收藏夹功能,收藏此网站。

在浏览器收藏的网页,需要打开浏览器,再从收藏夹选定访问。

如果可以在桌面直接进入到网站,这样可以为用户访问提供便利。

我们可以使用php创建网页的快捷入口文件,保存到用户桌面,方便用户快速访问。

生成代码如下:

<?php
$filename = '破晓领域.url';
$url = 'http://fdipzone.com/';
$icon = 'http://fdipzone.com/favicon.ico';
createShortCut($filename, $url, $icon);
/**
 * 创建保存为桌面代码
 * @param String $filename 保存的文件名
 * @param String $url   访问的连接
 * @param String $icon   图标路径
 */
function createShortCut($filename, $url, $icon=''){
  // 创建基本代码
  $shortCut = "[InternetShortcut]\r\nIDList=[{000214A0-0000-0000-C000-000000000046}]\r\nProp3=19,2\r\n";
  $shortCut .= "URL=".$url."\r\n";
  if($icon){
    $shortCut .= "IconFile=".$icon."";
  }
  header("content-type:application/octet-stream");
  // 获取用户浏览器
  $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;
}
?>

下载保存到桌面

保存到桌面

在桌面保存为*.url后,点击就能自动打开浏览器并访问网站内容了。

破晓领域.url文件内容如下:

[InternetShortcut]
IDList=[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2
URL=http://fdipzone.com/
IconFile=http://fdipzone.com/favicon.ico

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持【宜配屋www.yipeiwu.com】!

相关文章

比较strtr, str_replace和preg_replace三个函数的效率

之前已经分析过strtr的源码了,现在就比较strtr, str_replace和preg_replace的效率:复制代码 代码如下:$str = '111111110000000000...

PHP数据缓存技术

数据缓存是web开发中常用的一种性能优化方法。目前主要文件缓存或者数据库缓存两种形式,数据库缓存数据库不是什么不可能的事情,的确也是很好很重要的。我认为传统数据库主要是从业务层、模块设计...

PHP带节点操作的无限分类实现方法详解

本文实例讲述了PHP带节点操作的无限分类实现方法。分享给大家供大家参考,具体如下: 包含(移动多个节点;移动单个节点;删除多个节点;删除单个节点;新增节点),另附数据库表结构 一、db...

php实现四舍五入的方法小结

本文实例总结了php实现四舍五入的方法。分享给大家供大家参考。具体分析如下: php实现四舍五入的三种方法,分别通过number_format函数、round函数和sprintf格式化输...

PHP数组相加操作及与array_merge的区别浅析

发现问题 今天看到一段代码,是这么写的,感觉不熟悉,下面粘贴出来看看: <?php $array_one = [ 内容 ]; $array_two = [ 内容 ];...