zoukankan      html  css  js  c++  java
  • PHP(一)

    1.PHP手册
    http://www.php.net/manual/zh/index.php
    2.fopen的mode参数说明
    "r" 读
    "w" 写
    "a" 文件尾写
    "x" 文件头写
    3.PHP写的一个socket服务器(需要在客户端触发一次)
     1 <?php
     2     // 服务器端php程序
     3     // 不断监听,每收到客户端消息,向所有客户端发送该消息
     4     // 没有收到客户端消息,向所有客户端发送固定消息
     5     
     6     // 与客户端断开仍继续执行
     7     ignore_user_abort(true);
     8     // 执行时间无限制
     9     set_time_limit(0);
    10     // 时间间隔为1s
    11     $interval = 1;
    12     // 服务端端ip地址
    13     $address = "127.0.0.1";
    14     // 服务器端端口
    15     $port = 8030;
    16     // 创建监听socket
    17     if(($listenSocket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) == false) {
    18         die("错误:socket_create");
    19     }
    20     // 绑定ip地址和端口
    21     if(socket_bind($listenSocket, $address, $port) == false) {
    22         die("错误:socket_bind");
    23     }
    24     // 开始监听
    25     if(socket_listen($listenSocket) == false) {
    26         die("错误:socket_listen");
    27     }
    28     // 初始客户端socket数为0
    29     $clientSocketsNum = 0;
    30     // 设置监听socket无阻塞
    31     socket_set_nonblock($listenSocket);
    32     // 无限循环
    33     do{
    34         // 接受一个socket请求,创建一个客户端socket
    35         if(($clientSocket = socket_accept($listenSocket)) != false) {
    36             // 将该socket加入客户端socket
    37             $clientSockets[$clientSocketsNum] = $clientSocket;
    38             $clientSocketsNum ++;
    39         }
    40         // 遍历所有客户端socket
    41         for($i = 0; $i < $clientSocketsNum; $i ++) {
    42             // 获得一各客户端socket
    43             $clientSocket = $clientSockets[$i];
    44             // 设置客户端socket无阻塞
    45             socket_set_nonblock($clientSocket);
    46             // 从客户端获取数据
    47             if(($buf = socket_read($clientSocket, 1024)) != false) {
    48                 // 向客户端发送数据
    49                 socket_write($clientSocket, $buf);
    50                 // 将数据记录在文件
    51                 $fp = fopen("test.txt", "a");
    52                 fwrite($fp, $buf . " " . $clientSocketsNum . "\n");
    53                 fclose($fp);
    54             }
    55         }
    56         // 暂停一段时间
    57         sleep($interval);
    58     }while(true);
    59     // socket_write($msgSocket,$command1,strlen($command1));
    60 ?>
    4.PHP脱离客户端工作
    PHP脱离客户端工作得还比较稳定,测试了1小时,一直没断
    5.连接本地MYSQL
    $con = mysql_connect("localhost");
    6.连接本地MYSQL,并且使用TEST库,再退出
     1 <?php 
     2     // 连接本地数据库
     3     $con = mysql_connect("localhost");
     4     // 出错
     5     if(!$con) {
     6         die('{"error":"1"}');
     7     }
     8     // 选择库
     9     $db_selected = mysql_select_db("test");
    10     if(!$db_selected) {
    11         die('{"error":"1"}');
    12     }
    13     // ...
    14     mysql_close($con);
    15 ?>
    7.单引号与双引号的区别
    一般情况下两者是通用的,但双引号内部变量会解析,单引号则不解析
    8.JSON编码
    string json_encode ( mixed $value [, int $options = 0 ] )
    9.遍历数组
     1 <?php
     2     // 定义数组
     3     $Test["A"] = "A";
     4     $Test["B"] = "B";
     5     
     6     // 重置遍历起点
     7     reset($Test);
     8     
     9     // 遍历Test数组
    10     while(list($key, $val) = each($Test)) {
    11         print "$key => $val<br/>";
    12     }
    13 ?>
    10.把数组转化为JSON格式的字符串
     1 <?php
     2     function array2json($array2json_array) {
     3         $array2json_string = "{";
     4         reset($array2json_array);
     5         $array2json_count = 0;
     6         while(list($key, $val) = each($array2json_array)) {
     7             if(!$array2json_count) {
     8                 $array2json_count = 1;
     9                 $array2json_string = $array2json_string . "\"$key\":\"$val\"";
    10             }
    11             else {
    12                 $array2json_string = $array2json_string . ",\"$key\":\"$val\"";
    13             }
    14         }
    15         $array2json_string = $array2json_string . "}";
    16         return $array2json_string;
    17     }
    18     
    19     // 定义数组
    20     $Test["A"] = "A";
    21     $Test["B"] = "B";
    22     $Test["C"] = "C";
    23     
    24     print array2json($Test);
    25 ?>
  • 相关阅读:
    Travis CI Could not find or load main class org.gradle.wrapper.GradleWrapperMain 错误
    HyperSQL 链接参数中文件的路径
    Maven 在 pom.xml 文件中配置 repositories 仓库
    Flyway Validate failed: Migration checksum mismatch for migration version 1.0.0.01 错误
    Angular 服务
    Angular 主从组件
    Angular 显示英雄列表
    Angular 英雄示例教程
    L2-002. 链表去重---模拟
    HDU2057
  • 原文地址:https://www.cnblogs.com/ketmales/p/2945248.html
Copyright © 2011-2022 走看看