PHP02

1、虚拟主机配置完毕后,机器上的ip和localhost都会默认直接请求第一个虚拟主机

2、解析文本文件显示表格

将文本文件中的数据呈现在一个表格中

1)读取文件内容

包含文本的字符串数据。

2)用特定的规则 解析文件内容

3)通过混编的方式将数据呈现在表格中

<?php

// 将文本文件中的内容呈现到一个表格中
// 1. 读取文件内容 // => 包含文本内容的字符串数据
$contents = file_get_contents('names.txt'); // 2. 按照一个特定的规则解析文件内容 // => 数组
// 2.1. 按照换行拆分
$lines = explode("\n", $contents);
// 2.2. 遍历每一行分别解析每一行中的数据
foreach ($lines as $item) {
if (!$item) continue; // $item => '70 | 余娜 | 37 | q.elgjdfg@pqiv.sa | http://HKHEBUI.RO'
$cols = explode('|', $item);
// $cols => []
$data[] = $cols;
// $data => [ [], [] ]
} // 3. 通过混编的方式将数据呈现到表格中
// var_dump($data); ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>全部人员信息表</title>
</head>
<body>
<h1>全部人员信息表</h1>
<table>
<thead>
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
<th>邮箱</th>
<th>网址</th>
</tr>
</thead>
<tbody>
<?php foreach ($data as $line): ?>
<tr>
<?php foreach ($line as $col): ?>
<!-- $col => ' http://XEP.VC' -->
<?php $col = trim($col); ?>
<!-- $col => 'http://XEP.VC' -->
<!-- 判断这里的数据是不是一个网址(看看是否是 http://) -->
<?php if (strpos($col, 'http://') === 0): ?>
<td><a href="<?php echo strtolower($col); ?>"><?php echo substr($col, 7); ?></a></td>
<?php else: ?>
<td><?php echo $col; ?></td>
<?php endif ?>
<?php endforeach ?>
</tr>
<?php endforeach ?>
</tbody>
</table>
</body>
</html>

3、API

1)Php的能力来源于它有1000多种内置函数,不是每一个内置函数都默认可以直接使用,有些需要安装插件扩展。宽字符集函数需要开启php_mbstring扩展。





分别输出5/6

非拉丁文字符获取一个字获取三个字符,它们被称为宽字符集。php用专门的一套宽字符的api,所有的都是以mb开头的,必须载入后才能使用:

如echo mb_strlen(‘你好’);

php的rhpl环境:



4、数组处理



includes()方法也是

有两种类型的数组:索引数组和关联数组

方式:

array(),[]



isset(变量名 )函数,判断一个变量或键是否存在

empty(变量名)函数,判断变量值是否为空,等于上面的函数结果取反

‘0‘’==false;//true,发生了隐式转换

‘0‘’==false;//true

获取元素在数组中的索引:array_search()

5、日期与时间的处理,注意时间



可传两个参数,第一个是一个时间格式,第二个是一个时间戳,默认为time(),返回格林尼治标准时间(一个能表示一份数据在某个特定时间之前已经存在的、 完整的、 可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。)

通过字符串转时间戳:

strtotime($str)函数,把有格式的字符串转为时间戳

然后再用data()格式化



换行:

6、常量的使用









超全局变量均为数组

php中变量命名使用小写字母,单词间使用下划线分割

这种常量值通常另外保存在config.php文件中

7、require载入文件

利用require载入配置文件

css中import导入css样式:(./的意思是当前目录下的)



require与import类似



require可以在当前脚本中载入一个别的脚本文件并执行它。多次导入同一文件,有可能发生重复定义的冲突。

这时使用:require_once

只导入一次。

一旦所导入的文件不存在或有误,将报致命错误,不再继续执行

8、include导入文件

与require用法一样,唯一的区别是文件不存在或报错时,还可以继续执行剩余代码。

也有include_once

9、表单

1)客户端表单注意事项:

关于form标签:

action:表单提交地址,默认当前文件

method: 表单以什么方式提交。默认get

关于表单元素:

name:提交后将作为注册信息的键

提交按钮:

type=submit:提交按钮

type=image:图片按钮,也可提交

直接button标签亦可

2)服务端接收提交参数:



接收端:

根据你选取的回收方式,取用超全局变量

$_GET或$_POST
$_REQUEST获取两者的并集



可使用$_GET[‘username’]的方式提取键等

PHP02的更多相关文章

  1. PHP02 PHPStrom2018.X与WAMPServer3.0.6的集成

    脚本运行环境设置:设置PHPStorm中的脚本在PHP解析器上运行 1.进入Filie>>>setting>>languages and FrameWorks 选择php ...

  2. PHP-02.文件上传、php保存/转移上传的文件、常见的网络传输协议、请求报文及属性、响应报文及属性

    关系数组 array("key"=>"value",...) ; get没有数据大小的限制 post上传大小没有限制 不指定上传方式,默认是get 文件上 ...

  3. PHP细节,PHP手册中常见的一句话:该函数是二进制安全的

    以下内容转自 http://wuxinjie.github.io/php-02/ 在看PHP手册的时候,经常看到一句话”该函数是二进制安全的”. 二进制安全是什么呢? 他是如何实现的? 二进制安全是什 ...

  4. sudo实例--企业生产环境用户权限集中管理方案实例

    根据角色的不同,给不同的用户分配不同的角色1.创建初级工程师3个,网络工程师1个,中级工程师1个,经理1个      #  批量创建用户 for user in chuji{01..03} net01 ...

  5. Linux 基础学习大考核

    0.关于Linux的简介 Linux(好又免费)的组成部分: Linux 是一种计算机操作系统: 一系列能让您与计算机进行交互操作并运行其它程序的程序. 操作系统由多种基础程序构成.它们使计算机可以与 ...

随机推荐

  1. JS onclick跳转

    onclick="javascript:window.location.href='URL'" onclick="location='URL'" onclick ...

  2. python排序算法之冒泡,选择,插入

    1.参考 一本关于排序算法的 GitBook 在线书籍 <十大经典排序算法>,使用 JavaScript & Python & Go 实现 2.冒泡排序:两两比较,互换位置 ...

  3. rem布局js设置,设置网页文档参考字体闭包函数

    (function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? ...

  4. TopCoder SRM500 Div1 500 分治

    原文链接https://www.cnblogs.com/zhouzhendong/p/SRM500-500.html SRM500 Div1 500 没想到 double 的精度居然没有爆-- 考虑以 ...

  5. Java中随机数生成的问题

    [生成随机数序列] 我们只能利用Math.random()方法只能生成一个在[0,1)之间的double类型浮点数. 但如果我们想要生成[min, max]之间的随机整数时该怎么办呢? 此时可以用: ...

  6. LR两种录制模式的区别

    loadrunner的录制模式分为如下两种录制模式: HTML-based script,也称为高层录制: URL-based script,也称为底层录制. 两种录制模式的区别:1)脚本不同:高层录 ...

  7. mysql order by多个字段

    Mysql order by 多字段排序 mysql单个字段降序排序: select * from table order by id desc; mysql单个字段升序排序: select * fr ...

  8. Context家族

    --摘自<android插件化开发指南> 1.ContextWrapper只是一个包装类,没有任何具体的实现,真正的逻辑都在ContextImpl里面 2.应用程序中包含多个Context ...

  9. 安排~~炒鸡全的JS兼容问题,码上-----【XUEBIG】

    如何处理兼容问题 如果两个都是属性,用逻辑||做兼容 如果有一个是方法,用三元做兼容 如果是多个属性或方法,封装函数做兼容 两个小知识点: 1.取消拖拽的默认行为: document.ondragst ...

  10. pyspider 启动错误

    [root@localhost python]# pyspider all [W 180629 07:08:26 run:413] phantomjs not found, continue runn ...