在PHP中,SOAP扩展模块只能解释WSDL文件,这也是W3C所规范的文件类型。事实上WSDL并非唯一的SOAP文档模型,在其他平台中出于商业需要,各厂商会进行相应的功能定制,文件名称也不尽相同,例如ASP.NET平台就叫ASMX。图12-3 WSDL文档模型如图12-3所示,这些节点描述信息并非全是必选的,下面将通过一个示例代码,简单演示SOAP的应用。接下来将对WSDL中重要的节点元素进行讲解。......
2023-11-04
在PHP开发中,下载文件可以使用curl、fsockopen、file_get_contents等函数。ThinkPHP对这些函数进行了封装,并进一步简化操作步骤,提高开发效率。同时还提供了Header处理,能够方便地对HTML、TXT等文本进行下载,也能够对JPG、ZIP等文件进行下载。下面将结合示例代码介绍HTTP扩展类库的使用。
1.curlDownload
curlDownload是Http扩展类的一个基础方法,该方法基于CURL实现,所以在使用时需要确保当前PHP环境已经开启CURL模块。curlDownload方法形式如下。
static public function curlDownload($remote,$local)
其中参数remote表示远程文件URL地址;参数local表示本地存放的文件名,带完整路径。如果local参数为空,则只下载不保存。
curlDownload能够方便地对远程文本文件、HTML、XML、图片等文件进行异步下载,如以下代码所示。
PHP内置了file_get_contents函数,该函数是PHP程序员常用于下载文件的函数,但file_get_contents并不提供文件本地化保存功能,需要开发人员手动处理。此外CURL无论是性能还是灵活性都比file_get_contents函数要丰富。
2.fsockopenDownload
fsockopenDownload是一个强大的文件下载方法,该方法通常用于采集HTML等文件。fsockopenDownload还提供了Cookie访问、POST数据上传、设置下载超时、线程控制等实用功能。fsockopenDownload方法形式如下。
参数url表示文件地址;参数conf为表示下载配置参数。conf配置项如下。
➢limit:获取文本文件的字数。
➢post:在下载时可以设置POST上传数据,使用关联数组表示参数键值,如array(“user”=>”ceiba”)。
➢cookie:在下载时可以携带本地Cookie数值。
➢ip:允许使用ip代替url参数。(www.chuimin.cn)
➢timeout:下载超时时间,以秒为单位。
➢block:是否启用防止阻塞访问,默认为true。
fsockopenDownload方法的使用非常简单,如以下代码所示。
需要注意的是fsockopenDownload方法不支持将文件保存到本地磁盘。如果有此需要,读者可以使用fopen处理。
3.download
download用于直接输出文件保存对话框,方便用户下载文件。download能够对常见的TXT、HTML、XML、图片等文件提供下载功能,也能够对压缩包、二进制文件等提供下载功能。该方法表现形式如下。
其中参数filename表示存放于网站的文件,需要带完整路径;参数showname用于提示用户保存的文件名;参数content表示下载内容;参数expire表示该文件的浏览器缓存时间。使用方式如以下代码所示。
运行效果如图11-2所示。
图11-2 download方法下载文件效果
有关PHP MVC开发实战的文章
在PHP中,SOAP扩展模块只能解释WSDL文件,这也是W3C所规范的文件类型。事实上WSDL并非唯一的SOAP文档模型,在其他平台中出于商业需要,各厂商会进行相应的功能定制,文件名称也不尽相同,例如ASP.NET平台就叫ASMX。图12-3 WSDL文档模型如图12-3所示,这些节点描述信息并非全是必选的,下面将通过一个示例代码,简单演示SOAP的应用。接下来将对WSDL中重要的节点元素进行讲解。......
2023-11-04
TortoiseSVN是免费开源的,同样能够运行在Windows及Linux等主流操作系统上,接下来将详细讲解在Windows操作系统上安装TortoiseSVN。要安装TortoiseSVN,首先需要下载相应的安装包,下载网址为http://tortoisesvn.net/downloads.html。TortoiseSVN的安装非常容易,一直点击“Next”按钮直至完成即可。安装完成后在桌面空白的区域单击鼠标右键,如出现图1-25所示菜单,即表明TortoiseSVN安装成功了。......
2023-11-04
和其他PHP MV框架一样,要使用ThinkPHP必须首先要安装和部署框架文件。ThinkPHP支持多种数据库驱动,包括PDO套件,接下来将通过ThinkPHP实现一个简单的MVC应用。这里将下载的版本为ThinkPHP 3.0,解压后ThinkPHP目录结构如图4-22所示。图4-23 ThinkPHP成功初始化项目......
2023-11-04
前面深入介绍了WSDL文件结构,相信读者已经对WSDL有了初步认识。事实上很多PHP可视化编程工具已经提供了全面的WSDL支持,例如ZendStudio、Eclipse PDT等。使用可视化工具创建WSDL不仅可以提高开发效率,还可以减少出错的几率。接下来将以ZendStudio 8.0为例,详细介绍在IDE环境中创建WSDL的全过程。图12-6 WSDL文件属性最后只需要单击“完成”按钮,即可创建一个WSDL文件。现在的WSDL文件只有骨架,并没有消息体。......
2023-11-04
与PHP的include不同,在模板中使用include对引擎的解释过程不受任何影响,就算被包含的文件不存在也不会被中断执行。另外URL模式尽量不要使用自定义的URL REWRITE模式,否则目录层级有可能发生改变,导致include找不到文件。......
2023-11-04
下面就来介绍使用迅雷7下载文件的方法。④迅雷会下载完成并自动打开Torrent文件,弹出“新建BT任务”对话框。在左侧“我的下载”选项区中,可以选择查看正在下载和已经完成的文件。......
2023-11-20
ThinkPHP内置了文件上传扩展类UpdateFile,该类库对move_uploaded_file函数进行了高度封装,实现了上传文件类型检测、上传文件大小检测、上传文件压缩等重要功能。表11-2 UpdateFile扩展类成员属性2.Image类库UpdateFile文件上传类对图像文件处理是基于Image类库实现的,同时Image类也是一个对外公开的扩展类。......
2023-11-04
在数据库开发中,查询和插入数据是同等重要的,ThinkPHP对数据的插入、更新等都做了高度封装,系统提供create方法,用于创建数据对象。图7-2 create创建数据流程2.create数据操作前面介绍了create方法的运行过程,读者只需要理解即可,在实际应用开发中创建数据的过程是极其简单的。下面将结合示例代码,介绍create方法的实际应用,加深对create方法的认识。一切完成后,此时数据对象存放于内存中,使用add方法进行提交,完成整个create创建数据的过程。......
2023-11-04
相关推荐