1. 单文件上传与多文件上传

单文件上传

  1. <?php
  2. if(isset($_FILES['my_pic'])){
  3. extract($_FILES['my_pic']);
  4. if($error>0){
  5. $tips = '<span style="color:red">上传失败:</span>';
  6. switch($error){
  7. case 1:
  8. $tips .='上传的文件超过限制值';
  9. break;
  10. case 2:
  11. $tips .='上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。';
  12. break;
  13. case 3:
  14. $tips .='文件只有部分被上传。';
  15. break;
  16. case 4:
  17. $tips .='没有文件被上传';
  18. break;
  19. case 6:
  20. $tips .='找不到临时文件夹';
  21. break;
  22. case 7:
  23. $tips .='文件写入失败';
  24. break;
  25. }
  26. echo "<p>$tips</p>";
  27. }else{
  28. //success
  29. //判断是否通过表单上传is_upload_file
  30. if(is_uploaded_file($tmp_name)){
  31. //设置上传文件类型白名单
  32. $allow = ['jpg','jpeg','png','gif'];
  33. //获取文件扩展名
  34. $ext = pathinfo($name)['extension'];
  35. //判断扩展名是否在白名单
  36. if(in_array($ext,$allow)){
  37. $path = 'uploads/';
  38. $dest = $path . time() . '.'.$ext;
  39. if(move_uploaded_file($tmp_name,$dest)){
  40. echo '<p style=color:green>上传成功</p>';
  41. echo "<img src='$dest' alt='' width='200px'>";
  42. }else{
  43. echo '<p style=color:red>上传失败</p>';
  44. }
  45. }else{
  46. echo '<p style=color:red>非法扩展名</p>';
  47. }
  48. }else{
  49. echo '<p style=color:red>非法上传方式</p>';
  50. }
  51. }
  52. }
  53. ?>
  54. <!DOCTYPE html>
  55. <html lang="en">
  56. <head>
  57. <meta charset="UTF-8" />
  58. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  59. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  60. <title>单文件上传</title>
  61. </head>
  62. <body>
  63. <form action="" method="post" enctype="multipart/form-data">
  64. <fieldset>
  65. <legend>单文件上传</legend>
  66. <input type="file" name="my_pic" id="" />
  67. <button>上传</button>
  68. </fieldset>
  69. </form>
  70. </body>
  71. </html>

多文件上传

  1. <?php
  2. if(isset($_FILES['my_pic'])){
  3. foreach($_FILES['my_pic']['error'] as $key=>$value){
  4. $tmp_name = $_FILES['my_pic']['tmp_name'][$key];
  5. $path = 'uploads/' . time() .$key. '.' . pathinfo($_FILES['my_pic']['name'][$key])['extension'];
  6. if(move_uploaded_file($tmp_name,$path)){
  7. echo '<p style=color:green>上传成功</p>';
  8. echo "<img src='$path' alt='' width='200px'>";
  9. }else{
  10. echo '<p style=color:red>上传失败</p>';
  11. }
  12. }
  13. }
  14. ?>
  15. <!DOCTYPE html>
  16. <html lang="en">
  17. <head>
  18. <meta charset="UTF-8" />
  19. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  20. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  21. <title>多文件上传</title>
  22. </head>
  23. <body>
  24. <form action="" method="post" enctype="multipart/form-data">
  25. <fieldset>
  26. <legend>单文件上传</legend>
  27. <input type="file" name="my_pic[]" id="" multiple/>
  28. <button>上传</button>
  29. </fieldset>
  30. </form>
  31. </body>
  32. </html>

2. 简单分页操作,分页所需参数的意思

分页数据查询

  1. <?php
  2. $db = new PDO('mysql:host=127.0.0.1;dbname=statt;port=3306;charset=utf8','root','root');
  3. $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
  4. // var_dump($db);
  5. //1.当前页
  6. $page = $_GET['p'] ?? 1;
  7. //2.每页显示数
  8. $num = 10;
  9. //3.总记录数
  10. $sql = 'SELECT COUNT(`id`) AS total FROM `user`';
  11. $statt = $db->prepare($sql);
  12. $statt->execute();
  13. //将某一列值与变量绑定
  14. $statt->bindColumn('total',$total);
  15. $statt->fetch();
  16. // echo '总记录数' . $total . '<br>';
  17. //4.总页数
  18. $pages = ceil($total/$num);
  19. // echo '总页数' . $pages;
  20. //5.偏移量(每页开始索引)
  21. $offset = ($page-1) * $num;
  22. // echo '偏移量' . $offset;
  23. //6.分页数据
  24. $sql = "SELECT * FROM `user` LIMIT $offset, $num";
  25. $statt = $db->prepare($sql);
  26. $statt->execute();
  27. $users = $statt->fetchAll();
  28. //遍历
  29. if(count($users) === 0){
  30. echo '查询结果为空';
  31. }else{
  32. foreach($users as $value){
  33. // var_dump($value);
  34. }
  35. }

分页数据展示

  1. <?php require 'page.php'; ?>
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8. <title>页面展示分页数据</title>
  9. <style>
  10. table {
  11. width: 400px;
  12. border-collapse: collapse;
  13. text-align: center;
  14. }
  15. table th,
  16. table td {
  17. border: 1px solid;
  18. padding: 5px;
  19. }
  20. table thead {
  21. background-color: lightcyan;
  22. }
  23. table caption {
  24. font-size: larger;
  25. margin-bottom: 8px;
  26. }
  27. p>a {
  28. text-decoration: none;
  29. color: #555;
  30. border: 1px solid;
  31. padding: 5px 10px;
  32. margin: 10px 2px;
  33. }
  34. .active {
  35. background-color: seagreen;
  36. color: white;
  37. border: 1px solid seagreen;
  38. }
  39. </style>
  40. </head>
  41. <body>
  42. <table>
  43. <caption>员工信息表</caption>
  44. <thead>
  45. <tr>
  46. <th>ID</th>
  47. <th>姓名</th>
  48. <th>性别</th>
  49. <th>邮箱</th>
  50. </tr>
  51. </thead>
  52. <tbody>
  53. <?php foreach($users as $value): extract($value)?>
  54. <tr>
  55. <td><?= $id ?></td>
  56. <td><?= $name ?></td>
  57. <td><?= $sex ?></td>
  58. <td><?= $email ?></td>
  59. </tr>
  60. <?php endforeach ?>
  61. </tbody>
  62. </table>
  63. <p>
  64. <?php for($i = 1; $i<=$pages; $i++): ?>
  65. <?php
  66. $url = $_SERVER['PHP_SELF'] . '?p=' .$i;
  67. $active = $i == $_GET['p'] ? 'active' : null;
  68. ?>
  69. <a href="<?= $url ?>" class="<?= $active ?>"><?= $i ?></a>
  70. <?php endfor ?>
  71. </p>
  72. </body>
  73. </html>

更多相关文章

  1. Android(安卓)SD卡创建文件和文件夹失败
  2. 文件上传学习小结
  3. 解决windows下eclipse中android项目关联android library project
  4. 演示单文件上传与多文件上传、演示简单分页操作,并理解分页所需
  5. 单文件与多文件上传,分页操作
  6. ubuntu下eclipse Android(安卓)ADT中SDK Manager中安装SDK失败的
  7. Android(安卓)SDK更新失败的解决方案(原创)
  8. 双击运行Android模拟器、创建SDcard、AVD、安装APK文件、上传文
  9. 关于 android 子进程域名解析失败的问题

随机推荐

  1. python - pandas或者sklearn中如何将字符
  2. Python随心记--进程、线程
  3. Python爬虫之模拟登录总结
  4. 记一次python爬虫实战,豆瓣电影Top250爬虫
  5. 如何创建一个查询来过滤一列等于另一列同
  6. Python - 去除字符串首尾填充
  7. python 实践 心理测验(by Kim)
  8. Anaconda 添加国内镜像下载OpenCV
  9. 如何有效地扩展/展平pandas数据帧
  10. Python 学习笔记【list的操作方法】