• PHP全栈学习笔记27


    数组概述,类型,声明,遍历,输出,获取数组中最后一个元素,删除重复数组,获取数组中指定元素的键值,排序,将数组中的元素合成字符串。

    数组概述,数组是存储,管理和操作一组变量。

    数组类型为一维数组,二维数组,多维数组。
    数组分:数字索引数组和关联数组。

    数字索引数组使用数字作为键名
    关联数组使用字符串作为键名

    遍历,输出数组
    foreach和for
    list()和each()
    count()函数获取数组中元素的数量

    list()函数将数组中的值赋予一些变量,只能用于数字索引数组
    each()函数返回数组中的键名和对应的值

    while(list($name,$value) = each($array)){
     echo $name=$value;
    }
    

    array_pop()函数可以获取并返回数组中的最后一个元素
    array_push()函数向数组中添加元素
    array_unique()函数可以将数组中重复的元素进行删除
    unset()函数可以删除数组中的某个元素
    array_search()函数可获取数组中指定元素的键名
    函数区分大小写

    array_keys()函数获取数组中重复元素的所有键名

    排序

    sort()
    rsort()
    ksort()
    krsort()
    
    sort_regular
    sort_numeric
    sort_string
    

    字符串与数组转换

    explode()将字符串分割为数组
    implode()将数组中的元素组合成一个新的字符串

    php全局数组

    $_GET[] 和 $_POST[]
    $_COOKIE全局数组
    $_ENV[] 全局数组用于提供与服务器有关的信息
    $_FILES[] 全局数组
    $_FILES["file"]["name"] 从客户端上传的文件名称
    $_FILES["file"]["type"] 从客户端上传的文件类型
    $_FILES["file"]["size"] 已上传文件的大小
    $_FILES["file"]["tmp_name"] 文件上传到服务器后,在服务器中的临时文件名
    $_FILES["file"]["error"] 返回上传过程中发生错误的代号
    

    数组是一组数据的集合
    数组是存储,管理和操作一组变量
    数字索引数组和关联数组
    数组名称区分大小写

    move_uploaded_file()函数上传文件
    array_push()函数向数组中添加元素
    array_unique()函数删除数组中重复元素
    array_pop()函数获取数组中最后一个元素
    count()函数获取数组的元素的个数

    <form action="index_ok.php" method="post" enctype="multipart/form-data" name="form1">
     <tr>
     <td><input name="picture[]" type="file" id="picture[]" size="30"></td>
     </tr>
    </form>
    
    // 多图片上传
    <?php
    if(!is_dir("./upfile")){ // 判断服务器中是否存在指定文件夹
     mkdir("./upfile"); // 如果不存在,就创建文件夹
    }
    array_push($_FILES["picture"]["name"],"");
    // 向表单提交的数组中增加一个空元素
    $array = array_unique($_FILES["picture"]["name"]);
    // 删除数组中重复的值
    array_pop($array); // 删除数组中最后一个单元
    for($i=0;$i<count($array);$i++){
     $path="upfile/".$_FILES["picture"]["name"][$i];
     if(move_uploaded_file($_FILES["picture"]["tmp_name"][$i], $path)){
    // 执行文件上传操作
     $result = true;
    }else{
     $result = false;
     }
    }
    if($result == true){
     echo "文件上传成功";
     }esle{
     echo "失败";
    }
    ?>
    
    <?php
    // 连接数据库
    $conn = mysql_connect("localhost", "root", "root");
    mysql_select_db("db_database", $conn);
    mysql_query("set names utf8");
    $ip = $_SERVER['REMOTE_ADDR'];
    $insert = "insert into tb_v(IP) values('$ip')"; // 添加数据
    $select = "select * from tb_v where ip = '$ip' ";
    
    if(isset($_POST['Submit']) and $_POST['Submit'] == "提交") {
     $value= mysql_query(select, $conn);
     if(mysql_num_rows($value) == 0){
     $result = mysql_query($insert, $conn);
     if($result){
     echo "<script>alert('投票');window.location.href='index.php';</script>";
     }else{
     echo "";
     }
    }else{
     echo "";
     }
    }
    ?>
    

    web交互

    http基础
    创建表单,表单元素设置,处理方法,获取表单参数,文件上传,验证,响应头信息,重定向,设置过期时间,文件下载。

    表单form,会话session,重定向redirection

    服务器信息

    $_SERVER['DOCUMENT_ROOT'] 当前运行脚本所在的文档根目录
    
    $_SERVER['HTTP_HOST'] 当前请求的host:头信息的内容
    
    $_SERVER['PHP_SELF'] 当前正在执行脚本的文件名
    
    $_SERVER['REMOTE_ADDR'] 请求本页ip地址
    
    $_SERVER['REQUEST_URI'] 访问此页面所需的uri
    
    $_SERVER['SERVER_NAME'] 主机名
    
    $_SERVER['SERVER_SIGNATURE'] 波爱护服务器版本和虚拟主机名的字符串
    
    $_SERVER['argv'] 传递给该脚本的参数
    
    $_SERVER['argc'] 包含传递给程序的命令行参数个数
    
    $_SERVER['SERVER_PROTOCOL'] 请求页面时通信协议的名称和版本
    
    $_SERVER['REQUEST_METHOD'] 客户端获取文档的方法
    
    $_SERVER['REQUEST_TIME'] 请求开始时的时间戳
    
    $_SERVER['HTTP_ACCEPT'] 当前请求头信息的内容
    
    <form name="form_name" method="method" action="url" enctype="value" target="target_win" id="id">
    </form>
    
    <input name="user" type="text" value="dashu" size="12" maxlangth="100">
    
    <input type="hidden" name="dashu">
    
    <input name="pwd" type="password" value="dashu" size="12" maxlangth="100">
    
    <input name="file" type="file" enctype="multipart/form-data" size="50" maxlength="20">
    
    <input name="imageField" type="image" scr="" width="" height="" border="0">
    
    <input name="sex" type="radio" value="1" checked>
    <input name="sex" type="radio" value="0">
    
    <input name="checkbox" type="checkbox" value="1" checked>
    <input name="checkbox" type="checkbox" value="1" checked>
    <input name="checkbox" type="checkbox" value="0">
    
    <input type="submit" name="Submit" value="提交">
    <input type="reset" name="Submit" value="重置">
    <input type="button" name="Submit" value="按钮">
    
    <select name="name" size="value" multiple>
    <option value="value" selected></option>
    </select>
    size 列表的行数
    value 值
    multiple 菜单方式显示数据
    
    <textarea name="name" rows=value cols=value value="value" warp="value">
    </textarea>
    rows表示文本域的行数
    cols表示文本域的列数
    value表示文本域的默认值
    warp用于设定显示和送出时的换行方式
    stripslashes()函数进行转义还原
    
    <form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    <tr>
    <td height="30" align="center" class="STYLE1"> 用户名:
    <input name="user" type="text" size="16"/></td>
    <?php
    if(isset($_POST['Submit'])){ // 判断登录按钮是否被设置
    $user=$_POST['user']; // 获取用户名
    $password = $_POST['password']; // 获取密码
    if(empty($user) || empty($password)){
     echo "<script>alert('用户名和密码不能为空'); window.location.href='index.php'; </script>";
    }else {
     echo "";
     }
    }
    ?>
    
    <?php
    $now = time(); // 获取系统当前时间戳
    $then = gmstrftime();
    header("Expires:$then");//定义文档过期时间
    ?>
    

    结言

    好了,欢迎在留言区留言,与大家分享你的经验和心得。

    感谢你学习今天的内容,如果你觉得这篇文章对你有帮助的话,也欢迎把它分享给更多的朋友,感谢。

    感谢!承蒙关照!您真诚的赞赏是我前进的最大动力!

    image

    image

  • 相关阅读:
    敏捷个人2013.06月份户外活动报道:奥森健步读书分享会
    敏友的【敏捷个人】有感(16): 成为一个敏捷的人
    #敏捷个人# 每日认识101(14):成为一个敏捷个人
    4周的敏捷生活练习,你来吗?
    OKGo vs RxHttpUtils ...
    Android开发之EditText多行文本输入
    android开发中json与java对象相互转换
    android 调试崩溃Unable to instantiate application的解决方法
    Android.mk 使用说明
    几种知名开源富文本编辑器记录和对比(仅供参考)
  • 原文地址:https://www.cnblogs.com/dashucoding/p/11140260.html
Copyright © 2020-2023  润新知