1:使用PHP进行表单上传
1.1 form表单的数据收集
HTML页面:
代码解释:核心模块是form的属性:
-- 提交方式 : method="post"
-- 指定 name 属性: 例如 name="username"
-- 给 form 指定文件上传格式: enctype="multipart/form-data"
2点击提交按钮后,后台进行的操作
2.1 通过$_FILES 超全局变量,获取图像数据:
二维数组,可以获取表单上传的提交数据内容.
Array ( [photo] => Array ( [name] => picture.jpg 提交的文件名 [type] => image/jpeg 文件类型 [tmp_name] => C:\Users\Jepson\AppData\Local\Temp\phpBF97.tmp 临时存储的路径 [error] => 0 错误码, 如果是 0 表示没有错误 [size] => 17552 文件大小, 单位 字节 17kb 左右 ) )复制代码
2.2 PHP的图像转存: // 1 获取文件数组
$file = $_FILES['photo']; if ( $file['error'] === 0 ) { // 2 需要转存文件 $ftmp = $file['tmp_name']; // 3 获取临时文件路径 // 4 截取后缀名 $name = $file['name']; $ext = strrchr( $name, "." ); // 5 随机生成文件名 $newName = time().rand(10000, 99999).$ext; // 6 转存文件 move_uploaded_file( $ftmp, "./upload/".$newName ); }复制代码
2.3 通过$_POST超全局变量获取post数据,保存在全局变量里.
$username = $_POST['username']; $nickname = $_POST['nickname']; $age = $_POST['age']; $tel = $_POST['tel']; $sex = $_POST['sex']; $class = $_POST['class']; $photo = ""; // 图片地址复制代码
2.4 准备SQL语句,进行数据库写入操作:插入数据
$sql = "insert into stu (name, nickname, age, tel, sex, photo, classid) values ('$username', '$nickname', $age, '$tel', '$sex', '$photo', $class)";复制代码
2.5 判断是否插入成功,并进行跳转操作
//封装执行数据库的方法function my_exec( $sql ) { // 1. 连接数据库 $link = @ mysqli_connect( '127.0.0.1', 'root', 'root', 'stumanage', '3306' ); if ( !$link ) { echo "数据库连接失败"; return false;//2 . 执行 sql, 执行的是 查询, 成功:结果集, 失败:false $res = mysqli_query( $link, $sql ); if ( !$res ) { // 失败了 echo mysqli_error( $link ); // 打印错误信息 mysqli_close( $link ); return false; } }//执行数据库语句if ( my_exec( $sql ) ) { echo "添加成功"; // 跳转到 学生列表php文件 header('location:studentList.php'); } else { echo "添加失败"; }复制代码
2.6 更新数据库
//获得数据的唯一标识$id = $_GET['id'];//准备查询语句$sql = "select * from stu where id = $id"; // 准备 sql 语句//执行查询语句$res = mysqli_query( $link, $sql );复制代码
PHP方法注解:
1 mysqli_connect( '127.0.0.1', 'root', 'root', 'stumanage', '3306' ); PHP链接指定数据库的方法.
2 mysqli_close( $link ); 数据库使用完毕后,关闭数据库链接的方法,不能省略.
3 mysqli_query( $link, $sql ); 执行 sql, 执行的是查询, 成功输出结果集, 失败返回false.
4 mysqli_error( $link ); php打印错误信息的方法
5 header("location: studentList.php"); php跳转到指php文件的方法.