当前位置:  编程技术>php
本页文章导读:
    ▪PHP程序开发范例学习之表单 获取文本框的值       <form name="form" method="post" action="/blog_article/login.html"></form>   文本框的用法:   <input type="text" name="username" />   其中input类型包括text、password等类型,HTML5新增了很多的input类型,如果.........
    ▪php记录日志的实现代码       代码如下: $ss_log_level = 0;   $ss_log_filename = /tmp/ss-log;   $ss_log_levels = array(    NONE => 0,    ERROR => 1,    INFO => 2,    DEBUG => 3 ); //设置日志级别   function ss_log_set_level.........
    ▪判断Keep-Alive模式的HTTP请求的结束的实现代码       所以根据EOF就可判断一次请求的结束,下面的代码(PHP)很常见: 代码如下: // $fp是由fsockopen()产生的句柄 while(!feof($fp)) { echo fgets($fp); } (注:短连接模式是在头部用”Connection: close”标示,.........

[1]PHP程序开发范例学习之表单 获取文本框的值
    来源: 互联网  发布时间: 2013-11-30
<form name="form" method="post" action="/blog_article/login.html"></form>
  文本框的用法:
  <input type="text" name="username" />
  其中input类型包括text、password等类型,HTML5新增了很多的input类型,如果想学习这类的知识可以很好的了解一下,因为分的越细,用的越方便。
  
  看看本实例的功能

  填入表单提交后:


实现代码:

代码如下:

<table width="283" height="85" border="1" cellpadding="0" cellspacing="0">
<form name="name1" method="post" action="/blog_article/abc.html">
<tr>
<td width="114" height="30" align="center" >管理员:</td>
<td width="163" height="30" align="center"><input name="username" type="text" /></td>
</tr>
<tr>
<td align="center">密 码:</td>
<td height="30" align="center"><input name="password" type="password" /></td>
</tr>
<tr>
<td> </td>
<td height="25">  <input name="submit" type="submit" value="submit" /></td>
</tr>
</form>
</table>
<?php
if(!isset($_POST['submit']))
return ;
if($_POST['submit']=='submit'){
$username = $_POST['username'];
$password = $_POST['password'];
}
echo <<<EOT
<table width="284" border="1" cellpadding="0" cellspacing="0">
<tr>
<td height="25" align="center"> 管理员:$username</td>
</tr>
<tr>
<td height="25" align="center" valign="middle" >密码:$password</td>
</tr>
</table>
EOT;
?>

使用 isset()函数判断$_POST['submit']是否被设置

    
[2]php记录日志的实现代码
    来源: 互联网  发布时间: 2013-11-30
代码如下:

$ss_log_level = 0;

  $ss_log_filename = /tmp/ss-log;

  $ss_log_levels = array(
   NONE => 0,
   ERROR => 1,
   INFO => 2,
   DEBUG => 3
);

//设置日志级别
  function ss_log_set_level ($level = ERROR) {
   global $ss_log_level;
   $ss_log_level = $level;
  }

//记录日志

function ss_log ($level, $message) {    global $ss_log_level, $ss-log-filename;

   if ($ss_log_levels[$ss_log_level] < $ss_log_levels[$level]) {
   // 不显示Log信息
   return false;
   }

   $fd = fopen($ss_log_filename, "a+");
   fputs($fd, $level. - [.ss_times*****p_pretty().] - .$message."n");
   fclose($fd);
   return true;
  }

//清空日志
  function ss_log_reset () {
   global $ss_log_filename;
   @unlink($ss_log_filename);
  }
  

//调用示例
代码如下:

ss_log_set_level(INFO);

ss_log(ERROR, "testing level ERROR");
ss_log(INFO, "testing level INFO");
ss_log(DEBUG, "testing level DEBUG");

ss_log_reset();

    
[3]判断Keep-Alive模式的HTTP请求的结束的实现代码
    来源: 互联网  发布时间: 2013-11-30
所以根据EOF就可判断一次请求的结束,下面的代码(PHP)很常见:
代码如下:

// $fp是由fsockopen()产生的句柄
while(!feof($fp)) {
echo fgets($fp);
}

(注:短连接模式是在头部用”Connection: close”标示,长连接用”Connection: keep-alive”标示。目前HTTP/1.0默认使用短连接,HTTP/1.1默认使用长连接。)
而长连接(也称持久连接)模式的HTTP在发送完数据后服务器并不断开连接,而是留着下一次HTTP请求时使用,所以长连接的好处是显而易见的,通过共用一个TCP连接来节省以后请求时建立/断开连接的开销。而EOF是直到这个TCP连接结束(超时或出错)时才会被发送,所以我们就不能使用上面的办法来判断一次HTTP请求的结束了。这也是使用长连接时都会遇到的一个问题。目前判断的方法主要有两种:
(1) 根据头中的Content-Length字段。这个字段标明了正文的长度,我们可以以接收完指定长度的字符为判断结束的依据。
(2) 在没有Content-Length时,根据Transfer-Encoding。有些时候服务器无法确定正文的大小,因为正文可能是动态产生的,所以就不会提供Content-Length了,而是采用chunk编码来一块一块地发送正文。每个chunk块由头部和正文两部分组成,头部中由一个16进制数字指定了正文的长度;最后由一个长度为0的chunk块来表示整个HTTP正文的结束。
下面我用PHP实现了有Content-Length时的判断方式:
1. 获得Content-Length值
代码如下:

$length = 0;
$line = '';
while($line !== "\r\n") {
$line = fgets($fp);
if(substr($line, 0, 15) === 'Content-Length:') {
$length = intval(substr($line, 16));
}
}

2. 获得正文
代码如下:

$sum = 0;
while($sum < $length) {
$line = fgets($fp);
$sum += strlen($line);
echo $line;
}

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3