zoukankan      html  css  js  c++  java
  • 学习日记--2016.3.30

    编写文档表单

    html

    <form action="###" method="post" id="main">
    <table cellspacing="0" class="content">
    <tr><th><strong>发布一条新文档</strong></th></tr>
    <tr><td>文档标题:<input type="text" name="title" class="text" /></td></tr>
    <tr><td>栏  目:<select name="nav"><option>请选择一个栏目类别</option></select></td></tr>
    <tr><td>定义属性:<input type="checkbox" name="top" value="头条" />头条
    <input type="checkbox" name="rec" value="推荐" />推荐
    <input type="checkbox" name="bold" value="加粗" />加粗
    <input type="checkbox" name="skip" value="跳转" />跳转
    </td></tr>
    <tr><td>标  签:<input type="text" name="tag" class="text" /></td></tr>
    <tr><td>关 键 字 :<input type="text" name="keyword" class="text" /></td></tr>
    <tr><td>缩 略 图 :<input type="text" name="thumbnail" class="text" />
    <input type="button" value="上传" onclick="centerWindow('../templates/upFile.html.','upFile','400','150')">
    </td>
    </tr>
    <tr><td>文章来源:<input type="text" name="source" class="text" /></td></tr>
    <tr><td>作  者:<input type="text" name="author" class="text" /></td></tr>
    <tr><td><span class="middle">内容摘要:</span><textarea name="info"></textarea></td></tr>
    <tr><td>
    <!-- 加载编辑器的容器 -->
    <script id="container" name="details" type="text/plain"></script>
    <!-- 配置文件 -->
    <script type="text/javascript" src="../ueditor/ueditor.config.js"></script>
    <!-- 编辑器源码文件 -->
    <script type="text/javascript" src="../ueditor/ueditor.all.js"></script>
    <!-- 实例化编辑器 -->
    <script type="text/javascript">
    var ue = UE.getEditor('container');
    </script>
    </td>
    </tr>
    <tr><td>评论选项:<input type="radio" name="commend" value="1" checked="checked" />允许评论
    <input type="radio" name="commend" value="0" />禁止评论
        浏览次数:<input type="text" name="count" value="100" class="text small" />
    </td></tr>
    <tr><td>文档排序:<select name="sort">
    <option>默认排序</option>
    <option>置顶一天</option>
    <option>置顶一周</option>
    <option>置顶一月</option>
    <option>置顶一年</option>
    </select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;消费金币:<input type="text" name="gold" value="0" class="text small" />
    </td></tr>
    <tr><td>阅读权限:<select name="limit">
    <option>开放浏览</option>
    <option>初级会员</option>
    <option>中级会员</option>
    <option>高级会员</option>
    <option>VIP会员</option>
    </select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;标题颜色:<select name="color">
    <option>默认颜色</option>
    <option style="color:red;">红色</option>
    <option style="color:blue;">蓝色</option>
    <option style="color:orange;">橙色</option>
    </select>
    </td></tr>
    <tr><td><input type="submit" value="发布文档" /> <input type="reset" value="重置" /></td></tr>
    <tr><td></td></tr>
    </table>
    </form>

    //由于样式混合暂不贴出

    ////////////////////////////////////////////////////////////////////

    图片上传类

    js

    function centerWindow(url,name,width,height){
    var top = (screen.height-height)/2 - 50;
    var left = (screen.width-width)/2;
    window.open(url,name,'width='+width+',height='+height+',top='+top+',left='+left);
    }

    ***********************************

    php

    <?php
    /**
    * Created by PhpStorm.
    * User: 兰小宇
    * Date: 2016/3/29
    * Time: 23:14
    */
    //文件上传类
    class FileLoad{
    private $error; //错误
    private $maxsize; //最大值
    private $type;
    private $typeArr = array('image/jpeg','image/pjpeg','image/png','image/x-png','image/gif'); //允许上传类型
    private $path; //上传父目录
    private $childPath; //上传子目录
    private $name; //上传文件名
    private $tmp; //临时文件
    private $linkPath; //链接路径

    /*
    * @param $pic ,标记上传post的名称
    * @param $maxsize 上传的最大值
    * */
    public function __construct($pic,$maxsize){
    $this->error = $_FILES[$pic]['error'];
    $this->maxsize=$maxsize/1024;
    $this->type = $_FILES[$pic]['type'];
    $this->path = ROOT_PATH.UP_DIR;
    $this->childPath = $this->path.date('Ymd');
    $this->name = $_FILES[$pic]['name'];
    $this->tmp = $_FILES[$pic]['tmp_name'];
    $this->checkError();
    $this->checkType();
    $this->checkPath();
    $this->moveUpload();
    }


    //返回文件目录
    public function getPath(){
    return $this->linkPath;
    }

    //移动文件
    private function moveUpload(){
    if(is_uploaded_file($this->tmp)){
    if(!move_uploaded_file($this->tmp,$this->setName())){
    Tool::alertBack('文件上传失败!');
    }
    }else{
    Tool::alertBack('临时文件目录不存在!');
    }

    }

    //创建新的文件名
    private function setName(){
    $nameArr = explode('.',$this->name);
    $postFix = $nameArr[count($nameArr)-1];
    $newName = date('YmdHis').'.'.$postFix;
    return $this->linkPath = $this->childPath.$newName;
    }

    //验证上传路径
    public function checkPath(){

    if(!is_dir($this->path) || !is_writable($this->path)){
    if(!mkdir($this->path)){
    Tool::alertBack('警告:主目录创建失败!');
    }
    }
    if(!is_dir($this->childPath) || !is_writable($this->childPath)){
    if(!mkdir($this->childPath)){
    Tool::alertBack('警告:子目录创建失败!');
    }
    }

    }


    //验证类型
    private function checkType(){
    if(!in_array($this->type,$this->typeArr)){
    Tool::alertBack('警告:文件上传类型不合法!');
    }
    }

    //验证错误
    private function checkError(){
    if(!empty($this->error)){
    switch($this->error){
    case 1:
    Tool::alertBack('警告:上传值超过了最大值!');
    break;
    case 2:
    Tool::alertBack('警告:上传文件超过了'.$this->maxsize.'KB!');
    break;
    case 3:
    Tool::alertBack('警告:部分文件被上传!');
    break;
    case 4:
    Tool::alertBack('警告:没有文件被上传!');
    break;
    default:
    Tool::alertBack('警告:未知错误!');
    }
    }
    }

    }

    //备注:文件路径并没有返回,上传不算完整,明天继续,晚安!

     //备注:昨晚上传路径部分出错,已经修改,原意,如果上传主目录不存在或者禁止写入,创建主目录,如果主目录创建失败报错,创建子目录,如果子目录创建失败报错

    //修改后:如果上传主目录不存在或者禁止写入,创建主目录,如果主目录创建失败报错,如果上传子目录不存在或者禁止写入,创建子目录,如果子目录创建失败报错,

  • 相关阅读:
    Java 8与Runtime.getRuntime().availableProcessors()
    nginx配置
    周末完成工作小结
    CentOS 8 安装MySQL 8.0
    centOS8网络获取不了
    IUAP平台新增菜单存储过程
    centOS8安装Docker
    Mybatis里用到的设计模式
    2020,回顾过往,展望未来
    使用 Apache SSI(Server Side Includes) 制作多语言版静态网页
  • 原文地址:https://www.cnblogs.com/lanxiaoyu/p/5335531.html
Copyright © 2011-2022 走看看