简单图片文字混合上传方案php原生

思路:使用from标签,设置为enctype="multipart/form-data"//传递数据改成二进制以便图片传递php

使用if ($_POST)进行判断。有详细备注,若有疑问能够留言html

HTML部分(删除了一些,看看就好)sql

<form action="{$MOD[linkurl]}event.php" method="post" enctype="multipart/form-data">
        <div class="zw">
            <table>
                <tr class="fl">
                    <td><i>*</i>企业名称:</td>
                    <td><input type="text" name="company" placeholder="请输入完整企业名称" value="{$company}"></td>
                </tr>
                <tr class="fl">
                    <td><i>*</i>企业logo:</td>
                    <td><input type="file" name="logo" value="上传图片"></td>
                </tr>
                <tr class="fl">
                    <td><i>*</i>企业简介:</td>
                    <td>
                    <textarea name="introduce" placeholder="请在这里输入3000字之内企业介绍">{$introduce}</textarea>
                    </td>
                </tr>
                <tr class="fl">
                    <td class=""><i>*</i>产 品 一 :</td>
                    
                    <td class="sell01">
                    <input type="text" class="sell" name="sellname" placeholder="产品名称" value="{$sellname}">
                    </td>
                    <td class="sell01">
                    <input type="text" class="sell"  name="sellmodel" placeholder="产品型号" value="{$sellmodel}">
                    </td>
                    <td class="sell01 ">
                    <input type="file" name="sellphoto" class="sell2" value="{$sellphoto}">
                    </td>
                </tr>
                <tr class="fl">
                    <td></td>
                    <td><textarea placeholder="请在这里输入1000字之内产品说明(名称,型号,图片,说明缺一不可。产品一为必填)" name="sellintro">{$sellintro}</textarea></td>

                </tr>
            </table>
        </div>
        <div>
            <input class="sub" type="submit" value="提交报名" onclick="chick();" />
        </div>
</form>

php逻辑部分服务器

if ($_POST) {
    //限制ip报名次数
    $A = $db->get_one("SELECT COUNT(*) AS num FROM `{$DT_PRE}event2017` WHERE `ipadd`='$reIP'");
    if ( $A['num']>3) {
        echo "<script>alert('限制报名三次,若有须要请联系业务表明。')</script>";
        $chick = 0;
    }
    //分类选择
    if ($typeid == 0) {
        echo "<script>alert('请选择分类')</script>";
        $chick = 0;
    }else{
        if (isnum($typeid)) {
            $sqlv = "'".$typeid."',";
            $sqlk = "typeid,";
        }else{
            echo "<script>alert('分类参数错误,请重试!')</script>";
            $chick = 0;
        }
        
    }
    //企业名称
    if ($company == '') {
        echo "<script>alert('请输入公司名称')</script>";
        $chick = 0;
    }else{
        if (ischina($company)) {
            $company = htmlspecialchars($company);
            $sqlv .= "'".$company."',";
            $sqlk .= "company,";
        }else{
            echo "<script>alert('须要填入中文公司名称')</script>";
            $chick = 0;
        }    
    }
    //联系人
    if ($contacts == '') {
        echo "<script>alert('请输入联系人名称')</script>";
        $chick = 0;
    }else{
        if (isnum($contacts) == false) {
            $contacts = htmlspecialchars($contacts);
            $sqlv .= "'".$contacts."',";
            $sqlk .= "contacts,";
        }else{
            echo "<script>alert('联系人名称只能使用中文及英文')</script>";
            $chick = 0;
        }
    }
    //电话
    if ($tel == '') {
        echo "<script>alert('请输入联系电话')</script>";
        $chick = 0;
    }else{
        if (preg_match('#^13[\d]{9}$|^14[5,7]{1}\d{8}$|^15[^4]{1}\d{8}$|^17[0,6,7,8]{1}\d{8}$|^18[\d]{9}$#', $tel)) {
            $tel = htmlspecialchars($tel);
            $sqlv .= "'".$tel."',";
            $sqlk .= "tel,";
        }else{
            echo "<script>alert('请输入正确的11位手机号码')</script>";
            $chick = 0;
        }
    }
    //企业介绍
    if ($introduce == '') {
        echo "<script>alert('请填写企业介绍')</script>";
        $chick = 0;
    }else{
        if (ischina($introduce)) {
            $introduce = htmlspecialchars($introduce);
            $sqlv .= "'".$introduce."',";
            $sqlk .= "introduce,";
        }else{
            echo "<script>alert('须要填入中文公司介绍')</script>";
            $chick = 0;
        }
    }
    //第一条产品
    if ($sellname == '' || $sellmodel == '' ||$sellintro == '' ||$_FILES["sellphoto"]["name"] == '') {
        echo "<script>alert('请务必填写至少一个产品的完整信息')</script>";
        $chick = 0;
    }else{
        $sellname = htmlspecialchars($sellname);
        $sellmodel = htmlspecialchars($sellmodel);
        $sellintro = htmlspecialchars($sellintro);

        $sellphoto1 = "sellphoto";
        $addpt = imageUP($sellphoto1);

        $sqlv .= "'".$sellname."','".$sellmodel."','".$sellintro."','".$addpt."'";
        $sqlk .= "sellname,sellmodel,sellintro,sellphoto";

    }
    
    //企业logo
    if ($_FILES["logo"]["name"] == '') {

    }else{
        $logo1 = "logo";
        $addlg = imageUP($logo1);
        $sqlv .= ",'".$addlg."'";
        $sqlk .= ",logo";
    }

//添加时间ip地址
$sqlv .= ",'".$time."'";
$sqlk .= ",addtime";
$sqlv .= ",'".$reIP."'";
$sqlk .= ",ipadd";

echo "值: " . $sqlv . "<br>";
echo "键: " . $sqlk ;

    if ($chick ==998) {
        $a = $db->query("INSERT INTO {$DT_PRE}event2017 ($sqlk) VALUES ($sqlv)");
        if ($a) {
            echo "<script>alert('恭喜您提交成功,业务表明会在2个工做日内联系您进行进一步沟通');
             location.href='http://www.xxx.com/xxx/event.php';</script>";
        }else{
            echo "<script>alert('入库错误,请联系管理人员')</script>";
        }
    }
}

function imageUP($imgname){//图片上传逻辑

    $allowedExts = array("gif", "jpeg", "jpg", "png");//许可格式
    $temp = explode(".", $_FILES[$imgname]["name"]);//切割文件格式
    $extension = end($temp); 
    if ((($_FILES[$imgname]["type"] == "image/gif")//判断格式及大小
        || ($_FILES[$imgname]["type"] == "image/jpeg")
        || ($_FILES[$imgname]["type"] == "image/jpg")
        || ($_FILES[$imgname]["type"] == "image/pjpeg")
        || ($_FILES[$imgname]["type"] == "image/x-png")
        || ($_FILES[$imgname]["type"] == "image/png"))
        && ($_FILES[$imgname]["size"] < 204800)   
        && in_array($extension, $allowedExts))
    {
    if ($_FILES[$imgname]["error"] > 0)
    {
        echo "错误:: " . $_FILES[$imgname]["error"] . "<br>";
    }
    else
    {
        if (file_exists(DT_ROOT ."file/upload/event/" . $_FILES[$imgname]["name"]))//判断路径是否存在该文件
        {
            echo $_FILES[$imgname]["name"] . " 文件已经存在。 ";
        }
        else
        {
            move_uploaded_file($_FILES[$imgname]["tmp_name"], DT_ROOT ."/file/upload/event/". $time .$_FILES[$imgname]["name"]);//临时文件转存至服务器
            $addressz = DT_PATH ."file/upload/event/" . $time .$_FILES[$imgname]["name"];//获取存储地址
            return $addressz;//返回地址以备入库
        }
    }
    }
    else
    {
        echo "<script>alert('请使用不超过200kb的jpg/png/jpeg/gif等格式的图片')</script>";
        $chick = 0;
    }
}

function isnum($num){//数字判断
    if (is_numeric($num)) {
        return true;
    }else{
        return false;
    }
}

function ischina($china){//中文判断
    // echo "<script>alert('进判断来了')</script>";
    $pattern = '/[^\x00-\x80]/'; 
    if(eregi('[^\x00-\x7F]', $china )){ 
        return true;
    }else{ 
        return false;
    } 
}
相关文章
相关标签/搜索