亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 98
粉絲 1
評(píng)論 0
訪問(wèn)量 82875
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
文件上傳 、分頁(yè)學(xué)習(xí)
阿杰
原創(chuàng)
648人瀏覽過(guò)

一、文件上傳

1、單文件上傳

  1. <form action="" method="POST" enctype="multipart/form-data">
  2. <fieldset>
  3. <legend>單文件上傳</legend>
  4. <!-- 瀏覽器中限制上傳文件的大小,寫(xiě)到一個(gè)隱藏域中,并寫(xiě)到type=file之前 -->
  5. <input type="hidden" name="MAX_FILE_SIZE" value="300000">
  6. <input type="file" name="my_pic">
  7. <button>上傳</button>
  8. </fieldset>
  9. </form>
  1. <?php
  2. // $_FILES: PHP超全局變量數(shù)量,保存著上傳文件的全部信息
  3. printf('<pre>%s</pre>',print_r($_FILES,true));
  4. /**
  5. * 1. $_FILES:二維數(shù)組,每個(gè)元素對(duì)應(yīng)一個(gè)上傳的文件
  6. * 2. name: 原始文件名
  7. * 3. type: 文件類(lèi)型,mime類(lèi)型
  8. * 4. tmp_name: 臨時(shí)目錄
  9. * 5. error: 錯(cuò)誤代碼
  10. * 6. size: 文件大?。ㄗ止?jié)表示 byte)
  11. */
  12. if(isset($_FILES['my_pic'])){
  13. $name = $_FILES['my_pic']['name'];
  14. $tmpName = $_FILES['my_pic']['tmp_name'];
  15. $error = $_FILES['my_pic']['error'];
  16. if($error > 0){
  17. $tips = '<span style="color:red;">上傳失敗:</span>';
  18. switch($error){
  19. case 1:
  20. $tips .= '上傳的文件超過(guò)了 php.ini 中 upload_max_filesize 選項(xiàng)限制的值';
  21. break;
  22. case 2:
  23. $tips .= '文件大小超過(guò)了上傳表單中MAX_FILE_SIZE最大值';
  24. break;
  25. case 3:
  26. $tips .= '文件只有部分被上傳';
  27. break;
  28. case 4:
  29. $tips .= '沒(méi)有文件被上傳';
  30. break;
  31. case 6:
  32. $tips .= '找不到臨時(shí)目錄';
  33. break;
  34. case 7:
  35. $tips .= '文件寫(xiě)入失敗,請(qǐng)檢查目錄權(quán)限';
  36. break;
  37. }
  38. echo "<p>$tips</p>";
  39. }else{
  40. // 判斷用戶(hù)是不是通過(guò)合法的POST方式上傳
  41. if(is_uploaded_file($tmpName)){
  42. // 設(shè)置允許上傳文件類(lèi)型的白名單
  43. $allow = ['jpg','jpeg','png','gif'];
  44. // 獲取文件擴(kuò)展名
  45. $ext = pathinfo($name)['extension'];
  46. if(in_array($ext,$allow)){
  47. // 兩個(gè)條件都滿(mǎn)足了
  48. // 1、post方式上傳的 2、文件類(lèi)型是合法的
  49. // 目標(biāo)目錄
  50. $path = 'uploads/';
  51. // 自定義目標(biāo)文件名
  52. $dest = $path.md5($name).'.'.$ext;
  53. // 將文件從臨時(shí)目錄中移動(dòng)到目標(biāo)目錄中并重命名
  54. if(move_uploaded_file($tmpName,$dest)){
  55. echo '<p style="color:green">上傳成功</p>';
  56. // 預(yù)覽
  57. echo "<img src='$dest' width='200' >";
  58. }else{
  59. echo '<p style="color:red">移動(dòng)失敗</p>';
  60. }
  61. }else{
  62. echo '<p style="color:red">文件類(lèi)型錯(cuò)誤</p>';
  63. }
  64. }else{
  65. echo '<p style="color:red">非法方式上傳</p>';
  66. }
  67. }
  68. }
  69. ?>

2、多文件上傳

  1. <form action="" method="POST" enctype="multipart/form-data">
  2. <fieldset>
  3. <legend>多文件上傳:批量上傳</legend>
  4. <!-- multiple:允許同時(shí)選擇多個(gè) -->
  5. <input type="file" name="my_pic[]" multiple>
  6. <button>上傳</button>
  7. </fieldset>
  8. </form>
  1. <?php
  2. // $_FILES: PHP超全局變量數(shù)量, 保存著上傳文件的全部信息
  3. printf('<pre>%s</pre>',print_r($_FILES,true));
  4. if(isset($_FILES['my_pic'])){
  5. // 這時(shí)值需要遍歷$_FILES['my_pic']['error']這個(gè)數(shù)組
  6. foreach($_FILES['my_pic']['error'] as $key=>$error){
  7. if($error === 0){
  8. // 臨時(shí)文件名
  9. $tmpName = $_FILES['my_pic']['tmp_name'][$key];
  10. // 原始文件名
  11. $name = $_FILES['my_pic']['name'][$key];
  12. // 目標(biāo)文件名
  13. $destFile = 'uploads/0627/'.$name;
  14. move_uploaded_file($tmpName,$destFile);
  15. }
  16. }
  17. }
  18. ?>

二、分頁(yè)

數(shù)據(jù)表如下:

分頁(yè)參數(shù):當(dāng)前頁(yè)數(shù)、偏移量、每頁(yè)數(shù)量、總數(shù)、總頁(yè)數(shù)

  1. <?php
  2. // 1.連接數(shù)據(jù)庫(kù)
  3. $db = new PDO('mysql:dbname=mydb','myshop','yzj123');
  4. // 2.當(dāng)前頁(yè),再GET參數(shù)中
  5. $page = $_GET['p'] ?? 1;
  6. echo "當(dāng)前頁(yè):p= $page<hr>";
  7. // 3. 每頁(yè)顯示數(shù)量
  8. $num = 5;
  9. // 4. 記錄總數(shù)
  10. $sql = 'SELECT COUNT(`ps_id`) AS `total` FROM `sp_permission`';
  11. $stmt = $db->prepare($sql);
  12. $stmt->execute();
  13. // 將某列的值與php變量綁定,`total` => $total
  14. $stmt->bindColumn('total',$total);
  15. $stmt->fetch(PDO::FETCH_ASSOC);
  16. echo "總記錄數(shù)量:$total<hr>";
  17. // 5. 總頁(yè)數(shù)
  18. // 10.1 => 11 ceil: 向上取整,不丟失數(shù)據(jù)
  19. $pages = ceil($total/$num);
  20. echo "總頁(yè)數(shù): $pages<hr>";
  21. // 6. 偏移量
  22. // offset = (page-1)*num
  23. $offset = ($page-1)*$num;
  24. echo "偏移量:$offset<hr>";
  25. // 7. 分頁(yè)數(shù)據(jù)
  26. $sql = "SELECT * FROM `sp_permission` LIMIT $offset,$num";
  27. $stmt = $db->prepare($sql);
  28. $stmt->execute();
  29. $staffs = $stmt->fetchAll(PDO::FETCH_ASSOC);
  30. // 遍歷
  31. if(count($staffs) === 0){
  32. echo '查詢(xún)結(jié)果為空';
  33. }else{
  34. foreach($staffs as $staff){
  35. // 提取參數(shù)
  36. extract($staff);
  37. printf('%d-%s-%s-%s<br>',$ps_id,$ps_name,$ps_c,$ps_a);
  38. }
  39. }
  1. <body>
  2. <table>
  3. <caption>角色列表</caption>
  4. <thead>
  5. <tr>ID</tr>
  6. <tr>名稱(chēng)</tr>
  7. <tr>ps_c</tr>
  8. <tr>ps_a</tr>
  9. </thead>
  10. <tbody>
  11. <?php foreach ($staffs as $staff) : extract($staff) ?>
  12. <tr>
  13. <td><?= $ps_id ?></td>
  14. <td><?= $ps_name ?></td>
  15. <td><?= $ps_c ?></td>
  16. <td><?= $ps_a ?></td>
  17. </tr>
  18. <?php endforeach ?>
  19. </tbody>
  20. </table>
  21. <p>
  22. <?php for($i=1;$i<=$pages;$i++): ?>
  23. <?php
  24. $url = $_SERVER['PHP_SELF'].'?p='.$i;
  25. $active = $i==$_GET['p'] ? 'active' : null;
  26. ?>
  27. <a href="<?= $url ?>" class="<?= $active ?>">
  28. <?= $i ?>
  29. </a>
  30. <?php endfor ?>
  31. </p>
  32. </body>

批改老師:PHPzPHPz

批改狀態(tài):合格

老師批語(yǔ):
本博文版權(quán)歸博主所有,轉(zhuǎn)載請(qǐng)注明地址!如有侵權(quán)、違法,請(qǐng)聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
作者最新博文
關(guān)于我們 免責(zé)申明 意見(jiàn)反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)