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

搜索
博主信息
博文 34
粉絲 1
評論 1
訪問量 47285
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
文件上傳案例中的錯誤信息以最定義的異常類拋出——2019年8月8日22時01分
嘿哈的博客
原創(chuàng)
1255人瀏覽過

知識點:

count() 統(tǒng)計數(shù)組總數(shù)量;

in_array() 搜索數(shù)組中是否存在指定的值;

array_shift() 刪除數(shù)組中的第一個元素(red),并返回被刪除元素的值;

is_numeric() 判斷是否是數(shù)值類型;


效果圖:

01.png


02.png




自定義異常類代碼

<?php
//自定義異常類
class CalException extends Exception
{
    public function __construct($message = "", $code = 0)
    {
        parent::__construct($message, $code );
    }

    public function errorInfo()
    {
        return <<<ERROR
            <h2>
            <strong>{$this->getCode()}</strong>
            <sapn style="color: red">{$this->getMessage()}</span>
</h2>
ERROR;

    }
}

運行實例 ?

點擊 "運行實例" 按鈕查看在線實例

html代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>上傳文件</title>
</head>
<body>
<form action="demo6.php" method="POST" enctype="multipart/form-data">
//限制上傳文件大小
    <input type="hidden" name="MAX_FILE_SIZE" value="3145728">

    <input type="file" name="photo" >

    <button>上傳</button>
    </form>
</body>
</html>

運行實例 ?

點擊 "運行實例" 按鈕查看在線實例

實例

<?php
namespace demo6;
use CalException;
require 'CalException.php';
try {
//允許上傳文件的類型
    $fileType = ['jpg','jpeg', 'png', 'gif'];
//上傳文件的大小
    $fileSize = 3145728;
//上傳文件的路徑
    $filePath = '/images/';
//原始文件名稱
    $fileName = $_FILES['photo']['name'];
//臨時文件名稱
    $tmpFile = $_FILES['photo']['tmp_name'];

//判斷是否上傳成功
    $uploadError = $_FILES['photo']['error'];

    if ($uploadError > 0) {
        switch ($uploadError) {
            case 1:
            case 2:
                throw new CalException('上傳文件不允許超過3M', 101);
            case 3:
                throw new CalException('上傳文件不完整', 102);
            case 4:
                throw new CalException('沒有文件被上傳', 103);
            default:
                throw new CalException('未知錯誤', 104);
        }
    }

//判斷擴展名是否正確?
    $extension = explode('.', $fileName)[1];

    if (!in_array($extension, $fileType)) {
        throw new CalException('不允許上傳'.$extension.'文件類型',201);
    }

//防止同名文件相互覆蓋
    $fileName = date('YmdHis',time()).md5(mt_rand(1,99)).'.'.$extension;

//    上傳文件
    //檢測是否通過POST上傳的
    if (is_uploaded_file($tmpFile)){
        if(move_uploaded_file($tmpFile,__DIR__.$filePath.$fileName)){
            echo '<script>alert("上傳成功");history.back();</script>';
        }else{
            throw new CalException('文件無法移動到指定目錄',301);
    }
    }else{
            throw new CalException('非法操作',302);
    }
}catch(CalException $e){
    echo $e->errorInfo();
}

運行實例 ?

點擊 "運行實例" 按鈕查看在線實例


數(shù)據(jù)表與模型類的映射實例

<?php

namespace _0808;

use PDO;

class Movies
{
    private $mov_id;
    private $name;
    private $image;
    private $detail;
    private $cate_id;
    //屬性重載
    public function __get($name)
    {
        return $this->$name;
    }
    public function __set($name, $value)
    {
        return $this->$name = $value;
    }
    //構(gòu)造方法
    public function __construct()
    {
        switch ($this->cate_id)
        {
            case 1:
                $this->cate_id = '國產(chǎn)好劇';
                break;
            case 2:
                $this->cate_id = '歐美猛片';
                break;
            case 3:
                $this->cate_id = '日韓新片';
                break;
        }
    }
}
$pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root');
$stmt = $pdo->prepare('SELECT * FROM `movies`');
//為語句設(shè)置默認的獲取模式 類名模式
$stmt->setFetchMode(PDO::FETCH_CLASS,Movies::class);

$stmt->execute();
//var_dump($stmt->fetch());
//循環(huán)
while($movies = $stmt->fetch()){
    echo "<li>{$movies->mov_id}:{$movies->name}--{$movies->image}--{$movies->cate_id}</li>";
}

運行實例 ?

點擊 "運行實例" 按鈕查看在線實例









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

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

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

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