php基础知识第一天

PHP的注释符号
在这里插入图片描述
php的语句结束,是以分号 ; 结束

变量
在这里插入图片描述
系统给我们定义的变量,预定义变量,这些变量都是数组
在这里插入图片描述
php的可变变量不同于其他语言
在这里插入图片描述
常量,常量定义一般不可以改变,const / constant 值不可以改变的
常量的两种定义方法
在这里插入图片描述
在这里插入图片描述
常量定义,字母都要用大写,定义时候就要给赋值,定义常量不需要用$ ,变量必须用$ ,

php自定义的系统常量和魔术常量
在这里插入图片描述
在这里插入图片描述

php的数据类型
在这里插入图片描述

数据类型转换
在这里插入图片描述
在这里插入图片描述

如何判断变量的数据类型?

php用一组函数来判断变量的数据类型,返回的是布尔值,echo 不能向前端输出布尔值,因为你不知道输出的布尔值是布尔值还是字符串,可以用 var_dump(数据1,数据,数据3) 向前端输出布尔值
在这里插入图片描述
上图中的is_int() is_string() 是用来判断变量是否是什么数据类型 返回值是布尔值

那返回值如何是数据类型的字符串呢?可以使用以下方法
在这里插入图片描述
gettype($a) 获得$a的数据类型字符串, settype($b,string) 这个会把变量$b强制转为字符串类型,本身发生改变

php中,各种进制之间进行转换的方法
在这里插入图片描述

字符串之间的连接拼接(其他程序里面,字符串的拼接用+ ,但是php里面字符串的拼接使用 点 .)

运算符优先级
算术运算符>关系运算符>逻辑运算符>赋值运算符

php和html的互相嵌套
在这里插入图片描述
开始后面加冒号: 结束部分后面要跟分号;
在这里插入图片描述
关联数组(在这里插入图片描述

php函数

1,注意,php的函数名不区分大小写

在这里插入图片描述
引用变量参数必须给变量传值,而不是用数据传值(因为变量才有存储地址)
在这里插入图片描述
在这里插入图片描述

静态变量(在函数里面,被static修饰的变量,在函数第一次调用时候,运行这个变量,并且常驻内存,之后调用函数,就不再进行调用 这个静态变量),函数运行结束被销毁时候,这个静态变量不会被销毁,会保存执行的结果数据
在这里插入图片描述

全局作用域 局部作用域 和超全局作用域
在这里插入图片描述
在这里插入图片描述

php的回调函数(用一个函数内部调用另一个函数,通过参数,把函数通过参数传进去)
在这里插入图片描述
在这里插入图片描述

php外部文件的引用
在这里插入图片描述
在这里插入图片描述

php对文件的操作
1,创建文件夹
在这里插入图片描述
mkdir 创建成功返回true 创建错误返回false

2,删除文件夹
在这里插入图片描述
上图是删除空文件夹,如果文件夹里面有文件,就会报出警告错误,并且这个文件夹不会被删除

3,修改文件夹的名字
在这里插入图片描述
上图,的函数,既可以修改文件夹名字也可以修改文件名字,如果文件或者文件夹不存在,也会报出一个警告错误,因此加一个@抑制报错符号

4,获得文件夹里面的所有文件
在这里插入图片描述
上图是,如果能读到了,返回是一个数组,如果不成功返回的是一个false
在这里插入图片描述
上图是一次读取一个数组的,如果一个个读取呢?
在这里插入图片描述
在这里插入图片描述

php对目录的判断
在这里插入图片描述
在这里插入图片描述

PHP5以后的版本,对写文件的方法
在这里插入图片描述
下面是几种操作文件的函数
在这里插入图片描述

表单传值
get传输数据的方式
在这里插入图片描述

php如何接受前端传来的数据呢?
在这里插入图片描述
在这里插入图片描述
复选框的前端如何往后端传智呢?
在这里插入图片描述
单选框如何往后端传值呢?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
结果是
在这里插入图片描述

数据在前端的回显操作(比如,记录我们的个人信息的,如果从数据库中获得的数据,符合前端的一些要求,可以让他们默认选中设置)

在这里插入图片描述

php的文件上传

1,文件上传,必须使用post方式提交,form表单必须添加enctype属性,让提交不用编码传输数据
在这里插入图片描述
2,php后台如何获得上传的文件呢?

在这里插入图片描述
上图通过$_FILES['file'] 这个来获得上传来的文件$file, 这个文件变量,又有几个属性,name ,type tmp_name error 等。

在这里插入图片描述
在这里插入图片描述
文件上传代码的封装

<?php
//上传文件调用
$file = $_FILES['image'];
//允许上传的类型
$allow = array('image/jpeg', 'image/png',  'image/jpg', 'image/gif');
$path = './uploads';
 
$maxsize = 1024 * 1024 * 3;
$result = upload($file, $allow, $error, $path, $maxsize);
 
if ($result) {
	//上传成功
	echo "文件上传成功,新的文件名叫".$result;
}else{
	//上传失败
	echo $error;
}
 
/**
 *文件的上传
 *@param array $file 上传的文件的相关信息(是一个数组有五个元素)
 *@param array $allow 允许文件上传的类型
 *@param string & $error 引用传递,用来记录错误的信息
 *@param string $path 文件上传的目录,不带最后的 /
 *@param int $maxsize = 1024*1024 允许上传的文件大小
 *@return mixed false | $newname 如果上传失败返回false,成功返回文件的新名字
 **/
 
function upload($file, $allow, &$error, $path, $maxsize =1048576){
	//先判断系统错误
	switch ($file['error']) {
		case 1:
			$error = '上传错误,超出了服务器文件限制的大小!';
			return false;
		
		case 2:
			$error = '上传错误,超出了浏览器表单允许的大小!';
			return false;
 
		case 3:
			$error = '上传错误,文件上传不完整!';
			return false;
 
		case 4:
			$error = '上传错误,请您先选择要上传的文件!';
			return false;
 
		case 6:
		case 7:
			$error = '对不起,服务器繁忙,请稍后再试!';
			return false;
	}
 
	//判断逻辑错误
	//验证文件的大小
	if ($file['size'] > $maxsize) {
		//超出用户了自己规定的大小
		$error = '上传错误,超出了文件限制的大小!';
		return false;
	}
	//判断文件的类型
	if (!in_array($file['type'], $allow)) {
		//非法的文件类型
		$error = '上传的文件的类型不正确,允许的类型有:'.implode(',', $allow);
		return false;
	}
 
	//移动临时文件
	//指定文件上传后保存的路径
	$newname = randName($file['name']); //得到文件新的名字
	//判断$path 目录是否存在 不存在则创建
	if (!file_exists($path)) {
		mkdir($path, 0777, true);
	}
	$target = $path . '/' . $newname;
	$result = move_uploaded_file($file['tmp_name'],  $target);
	if ($result) {
		//上传成功
		return $newname;
	}else{
		//上传失败
		$error = '发生未知错误,上传失败';
		return false;
	}
}
 
/**
 *生成一个随机名字的函数 文件名=当前的时间 + 随机的几位数字
 *@param string $filename 文件的原始名字
 *@return string $newname 文件的新名字
 *
 */
function randName($filename){
	//生成文件名的时间部分
	$newname = date('YmdHis');
	//加上随机的6位数
	$str = '0123456789';
	for ($i=0; $i < 6; $i++) { 
		$newname .= $str[mt_rand(0, strlen($str)-1)];
	}
	//加上文件的后缀名
	$newname .= strrchr($filename, '.');
	return $newname;
}

HTML上传代码

<!DOCTYPE html>
<html>
<head>
	<title>文件上传</title>
	<meta charset="utf-8">
</head>
<body>
	<form method="post" action="upload.php" enctype="multipart/form-data">
		<input type="file" name="image">
		<input type="submit" name="" value="上传">
	</form>
</body>
</html>

php的字符串特点(单引号 双引号 都是字符串)

1,双引号可以解析php的变量$符号,但是单引号不可以

在这里插入图片描述

下面方式,可以保留字符串书写的样式不会改变,有两种方式,

在这里插入图片描述
在这里插入图片描述
对字符串的操作可以通过下标来取得字符
在这里插入图片描述

php的数组
1,数组的定义
在这里插入图片描述
2,数组的访问(通过下标或者名字来访问)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/steve1988717/article/details/87973988