利用php开发android应用程序
我们将分为两部分来讲解利用php来开发android应用程序:
第一部分是指在Android系统的手机上直接写PHP脚本代码并立即运行;
第二部分则继续讲解如何把写好的PHP脚本代码打包成akp安装文件。
PHP可不仅仅只能在互联网站上发展,一个PHP for Android (PFA)站点表示他们将可以发布编程模型、工具盒文档让PHP在Android上实现应用。该项目的主要赞助商是开源公司IronTec,PFA使用 Scripting Layer for Android (SL4A),也就是Androd Scripting Environment (ASE)来实现这一点。 阅读全文
很多朋友的php程序当php的版本升级到5.3以后,会出现”Deprecated: Assigning the return value of new by reference is deprecated in“ 显示出来。
这是因为5.3以后,不能使用”=&”符号,可以直接用”=”就可以了。
所以当出现这个问题后有两种解决方法:
1. 把php的版本降级到5.3以下,但后退的不是明智的选择。
2. 对程序中”=&”符号全部用”=” 代替
XML处理是开发过程中经常遇到的,PHP对其也有很丰富的支持,本文只是对其中某几种解析技术做简要说明,包括:Xml parser, SimpleXML, XMLReader, DOMDocument。
1。 XML Expat Parser:
XML Parser使用Expat XML解析器。Expat是一种基于事件的解析器,它把XML文档视为一系列事件。当某个事件发生时,它调用一个指定的函数处理它。Expat是无验证的解析器,忽略任何链接到文档的DTD。但是,如果文档的形式不好,则会以一个错误消息结束。由于它基于事件,且无验证,Expat具有快速并适合web应用程序的特性。
XML Parser的优势是性能好,因为它不是将整个xml文档载入内存后再处理,而是边解析边处理。但也正因为如此,它不适合那些要对xml结构做动态调整、或基于xml上下文结构做复杂操作的需求。如果你只是要解析处理一个结构良好的xml文档,那么它可以很好的完成任务。需要注意的是XML Parser只支持三种编码格式:US-ASCII, ISO-8859-1和UTF-8,如果你的xml数据是其他编码,需要先转换成以上三个之一。
XML Parser常用的解析方式大体有两种(其实就是两个函数):xml_parse_into_struct和xml_set_element_handler。
阅读全文
socket
Socket协议的形象描述
1.一个是发动机(Socket),提供了网络通信的能力
一个是轿车(Http),提供了具体的方式
2.socket的英文原义是“孔”或“插座”。在这里作为4BDS UNIX的进程通信机制,取后一种意义。socket非常类似于电话插座。以一个国家级电话网为例。电话的通话双方相当于相互通信的2个进程,区号是它的网络地址;区内一个单位的交换机相当于一台主机,主机分配给每个用户的局内号码相当于socket号。任何用户在通话之前,首先要占有一部电话机,相当于申请一个socket;同时要知道对方的号码,相当于对方有一个固定的socket。然后向对方拨号呼叫,相当于发出连接请求(假如对方不在同一区内,还要拨对方区号,相当于给出网络地址)。对方假如在场并空闲(相当于通信的另一主机开机且可以接受连接请求),拿起电话话筒,双方就可以正式通话,相当于连接成功。双方通话的过程,是一方向电话机发出信号和对方从电话机接收信号的过程,相当于向socket发送数据和从socket接收数据。通话结束后,一方挂起电话机相当于关闭socket,撤消连接。 阅读全文
为了定时更新某一文件,需要程序自动运行,从网上搜到了两种方法:ignore_user_abort() 和crontab
ignore_user_abort()函数搭配set_time_limit(0)和sleep($interval)即可实现程序自动运行更新,下面是一个实例
<?php
ignore_user_abort(); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行.
set_time_limit(0); // 执行时间为无限制,php默认的执行时间是30秒,通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*5; // 每隔5分钟运行
do{
$fp = fopen(‘test.txt’,'a’);
fwrite($fp,’test’);
fclose($fp);
sleep($interval); // 等待5分钟
}while(true);
<?php
$db = new mysql ( $db_host, $db_user, $db_password, $db_table, $db_conn, $pre, $coding );
class mysql {
private $db_host;
private $db_user;
private $db_password;
private $db_table;
private $db_conn;
//数据库连接标识;
private $result;
//执行query命令的结果资源标识
private $sql;
//sql执行语句
private $pre;
//数据库表前缀
private $coding;
//数据库编码,GBK,UTF8,gb2312 阅读全文
如题:
- /**
- * 二维数组排序
- * @param array $array
- */
- function sort_recursive(&$array){
- foreach($array as $key=>$edge){
- ksort($edge,true);
- $array[$key]=$edge;
- }
- ksort($array,true);
- }
- 阅读全文
经常会在网上看到有人问怎么将整个动态的网站静态化,其实实现的方法很简单。
<?php
//在你的开始处加入 ob_start();
ob_start();
//以下是你的代码
//在结尾加入 ob_end_clean(),并把本页输出到一个变量中
$temp = ob_get_contents();
ob_end_clean();
//写入文件
$fp = fopen(‘文件名’,’w’);
fwrite($fp,$temp) or die(‘写文件错误’);
?>
阅读全文