学习日记--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('警告:未知错误!');
}
}
}

 

}

 

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

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

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

posted @ 2016-03-30 01:02  兰小宇  阅读(255)  评论(0编辑  收藏  举报