网页创建快捷方式到桌面多种方法
最简单的js实现方法
代码如下 | 复制代码 |
<script language="JavaScript"> function toDesktop(sUrl,sName){ try { var WshShell = new ActiveXObject("WScript.Shell"); var oUrlLink = WshShell.CreateShortcut(WshShell.SpecialFolders("Desktop") + "\" + sName + ".url"); oUrlLink.TargetPath = sUrl; oUrlLink.Save(); } catch(e) { alert("请点击弹出对话框的:是 "); } } </script> <input name="btn" type="button" id="btn" value="把百度创建快捷方式到桌面" onClick="toDesktop('http://www.111cn.net/','百度一下,你就知道!')"> <input name="btn" type="button" id="btn" value="C盘" onClick="toDesktop('file://C:','C盘')"> |
不足:这样做如果浏览器做了安全设置我们是不能使用上面的方法的。
写php程序的朋友可能也知道一种办法,代码如下
代码如下 | 复制代码 |
<?php $Shortcut = "[InternetShortcut] URL=http://www.111cn.net IconFile=http://www.111cn.net/favicon.ico IconIndex=0 HotKey=1613 IDList= [{000214A0-0000-0000-C000-000000000046}] Prop3=19,2"; header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=蜕变无忧.url"); echo $Shortcut; ?>
|
asp.net程序员可能也知道如下代码
代码如下 | 复制代码 |
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class CreateShortcut : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } /// <summary> /// 创建快捷方式 /// </summary> /// <param name="Title">标题</param> /// <param name="URL">URL地址</param> private void CreateShortcut(string Title, string URL) { string strFavoriteFolder; // “收藏夹”中 创建 IE 快捷方式 strFavoriteFolder = System.Environment.GetFolderPath(Environment.SpecialFolder.Favorites); CreateShortcutFile(Title, URL, strFavoriteFolder); // “ 桌面 ”中 创建 IE 快捷方式 strFavoriteFolder = System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop); CreateShortcutFile(Title, URL, strFavoriteFolder); // “ 链接 ”中 创建 IE 快捷方式 strFavoriteFolder = System.Environment.GetFolderPath(Environment.SpecialFolder.Favorites) + "\链接"; CreateShortcutFile(Title, URL, strFavoriteFolder); //「开始」菜单中 创建 IE 快捷方式 strFavoriteFolder = System.Environment.GetFolderPath(Environment.SpecialFolder.StartMenu); CreateShortcutFile(Title, URL, strFavoriteFolder); } /// <summary> /// 创建快捷方式 /// </summary> /// <param name="Title">标题</param> /// <param name="URL">URL地址</param> /// <param name="SpecialFolder">特殊文件夹</param> private void CreateShortcutFile(string Title, string URL, string SpecialFolder) { // Create shortcut file, based on Title System.IO.StreamWriter objWriter = System.IO.File.CreateText(SpecialFolder + "\" + Title + ".url"); // Write URL to file objWriter.WriteLine("[InternetShortcut]"); objWriter.WriteLine("URL=" + URL); // Close file objWriter.Close(); } private void btnShortcut_Click(object sender, System.EventArgs e) { CreateShortcut("脚本之家", http://www.111cn.net); } } |
例1
代码如下 | 复制代码 |
/* |
例2
代码如下 | 复制代码 |
<?php // function GrabImage($url,$filename="") { if($filename=="") { ob_start(); $fp2=@fopen($filename, "a"); return $filename;
?> |
dedecms中的:
代码如下 | 复制代码 |
if(!empty($saveremoteimg)) { $body = stripslashes($body); $img_array = array(); preg_match_all("/(src|SRC)=["|'| ]{0,}(http://(.*).(gif|jpg|jpeg|bmp|png))/isU",$body,$img_array); $img_array = array_unique($img_array[2]); set_time_limit(0); $imgUrl = $img_dir."/".strftime("%Y%m%d",time()); $imgPath = $base_dir.$imgUrl; $milliSecond = strftime("%H%M%S",time()); if(!is_dir($imgPath)) @mkdir($imgPath,0777); foreach($img_array as $key =>$value) { $value = trim($value); $get_file = @file_get_contents($value); $rndFileName = $imgPath."/".$milliSecond.$key.".".substr($value,-3,3); $fileurl = $imgUrl."/".$milliSecond.$key.".".substr($value,-3,3); if($get_file) { $fp = @fopen($rndFileName,"w"); @fwrite($fp,$get_file); @fclose($fp); } $body = ereg_replace($value,$fileurl,$body); } $body = addslashes($body); } ?> |
例4
代码如下 | 复制代码 |
<?php |
注意:curl函数在php中默认是不被支持的,如果需要使用curl函数我们需在改一改你的php.ini文件的设置,找到php_curl.dll去掉前面的";"就行了
例1
代码如下 | 复制代码 |
<?php 接受php页面远程服务器: <?php |
例2
用CURL模拟POST请求抓取邮编与地址
完整代码:
代码如下 | 复制代码 |
#!/usr/local/php/bin/php
|
模拟POST请求 提交数据或上传文件 .
.
代码如下 | 复制代码 |
http://www.a.com/a.php 发送POST请求 function execUpload(){
} 2.http://www.b.com/handleUpload.php function handleUpload(){ |
■cURL 函数
■curl_close — 关闭一个cURL会话
■curl_copy_handle — 复制一个cURL句柄和它的所有选项
■curl_errno — 返回最后一次的错误号
■curl_error — 返回一个保护当前会话最近一次错误的字符串
■curl_exec — 执行一个cURL会话
■curl_getinfo — 获取一个cURL连接资源句柄的信息
■curl_init — 初始化一个cURL会话
■curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄
■curl_multi_close — 关闭一组cURL句柄
■curl_multi_exec — 运行当前 cURL 句柄的子连接
■curl_multi_getcontent — 如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流
■curl_multi_info_read — 获取当前解析的cURL的相关传输信息
■curl_multi_init — 返回一个新cURL批处理句柄
■curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源
■curl_multi_select — 等待所有cURL批处理中的活动连接
■curl_setopt_array — 为cURL传输会话批量设置选项
■curl_setopt — 设置一个cURL传输选项
■curl_version — 获取cURL版本信息
在程序中直接判断
基本的错误处理:使用 die() 函数
第一个例子展示了一个打开文本文件的简单脚本:
代码如下 | 复制代码 |
<?php |
如果文件不存在,您会获得类似这样的错误:
Warning: fopen(welcome.txt) [function.fopen]: failed to open stream:
No such file or directory in C:webfoldertest.php on line 2
更多详细的
代码如下 | 复制代码 |
<?php //处理:判断文件是否存在 file_exists } echo "OK"; //第一种:使用简单的die语句 /* if(!file_exists("aa.txt")){ } echo "OK";
|
第二种:错误处理器 错误级别 处理错误方式
代码如下 | 复制代码 |
<?php // */ //改写set_error_handler方法 function my_error2($errno,$errmes){ //打开一个文件 未做任何处理 //$fp =fopen("aa.txt","r"); //使用自定义错误 要添加触发器 这个trigger_error()函数来指定调用自定义的错误
|
PHP 异常处理
PHP 5 提供了一种新的面向对象的错误处理方法
如果异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的处理的话,那么将发生一个严重的错误(致命错误),并且输出 "Uncaught Exception" (未捕获异常)的错误消息。
让我们尝试抛出一个异常,同时不去捕获它:
代码如下 | 复制代码 |
<?php //trigger exception |
上面的代码会获得类似这样的一个错误:
Fatal error: Uncaught exception 'Exception'
with message 'Value must be 1 or below' in C:webfoldertest.php:6
Stack trace: #0 C:webfoldertest.php(12):
checkNum(28) #1 {main} thrown in C:webfoldertest.php on line 6Try, throw 和 catch
要避免上面例子出现的错误,我们需要创建适当的代码来处理异常。
处理处理程序应当包括:
1.Try - 使用异常的函数应该位于 "try" 代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。
2.Throw - 这里规定如何触发异常。每一个 "throw" 必须对应至少一个 "catch"
3.Catch - "catch" 代码块会捕获异常,并创建一个包含异常信息的对象
让我们触发一个异常:
代码如下 | 复制代码 |
<?php //在 "try" 代码块中触发异常 //捕获异常 |
上面代码将获得类似这样一个错误:
Message: Value must be 1 or below
创建一个自定义的 Exception 类
创建自定义的异常处理程序非常简单。我们简单地创建了一个专门的类,当 PHP 中发生异常时,可调用其函数。该类必须是 exception 类的一个扩展。
这个自定义的 exception 类继承了 PHP 的 exception 类的所有属性,您可向其添加自定义的函数。
我们开始创建 exception 类:
代码如下 | 复制代码 |
<?php $email = "someone@example...com"; try catch (customException $e) |
这个新的类是旧的 exception 类的副本,外加 errorMessage() 函数。正因为它是旧类的副本,因此它从旧类继承了属性和方法,我们可以使用 exception 类的方法,比如 getLine() 、 getFile() 以及 getMessage()。
本文章来给大家介绍一个利用PHP CURL模拟POST提交XML数据,因为接受方只接受xml数据所以我就写了一个,下面分享给各位朋友,有需要的朋友可参考。代码如下 | 复制代码 |
|
再来介绍一个POST表单提交的案例
代码如下 | 复制代码 |
//首先要引用这个类 |
相关文章
php 中file_get_contents超时问题的解决方法
file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25- 相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
- php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
- 下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
- ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
intellij idea快速查看当前类中的所有方法(推荐)
这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02- 1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
js导出table数据到excel即导出为EXCEL文档的方法
复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13- 批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
- ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果̳...2017-07-06
- 本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法
手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21- 最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
- 单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25
- javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位 方法一: 复制代码 代码如下: document.all["panelsms"].style.visibility="hidden"; document.all["panelsms"].style.visi...2013-10-13
连接MySql速度慢的解决方法(skip-name-resolve)
最近在Linux服务器上安装MySql5后,本地使用客户端连MySql速度超慢,本地程序连接也超慢。 解决方法:在配置文件my.cnf的[mysqld]下加入skip-name-resolve。原因是默认安装的MySql开启了DNS的反向解析。如果禁用的话就不能...2015-10-21- 本篇文章是对C#方法进行了详细的总结与介绍,需要的朋友参考下...2020-06-25
- 步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
- EXCEL数据上传到SQL SERVER中的方法需要注意到三点!注意点一:要把EXCEL数据上传到SQL SERVER中必须提前把EXCEL传到服务器上.做法: 在ASP.NET环境中,添加一个FileUpload上传控件后台代码的E.X: 复制代码 代码如下: if...2013-09-23
- mysql锁定单个表的方法 复制代码 代码如下:mysql>lock table userstat read; mysql>unlock tables; 页级的典型代表引擎为BDB。 表级的典型代表引擎为MyISAM,MEMORY以及很久以前的ISAM。 行级的典型代表引擎为INN...2014-05-31