控制器
Admin/Controller/ImageController.class.php
~~~
<?php
namespace Admin\Controller;
use Admin\Controller\AuthController;
use Think\Auth;
class ImageController extends AuthController
{
public function _initialize()
{
parent::_initialize();
$this->db = D('Image');
$this->cate = D('ImageCate');
$this->uploadUrl = C('UPLOAD_IMG_URL');
$this->image = C('ADMINIMGURL');
}
public function index(){
$count = $this->db->where($map)->count();
$page = new \Think\Page($count , C('DEFAULT_PAGE_LIMIT'));
$list = $this->db->where($map)->order('id desc')->limit($page->firstRow.','.$page->listRows)->select();
$this->list = $list;
$this->page = $page->show();
$this->display();
}
/**
* 编辑文章
* @return [type] [description]
*/
public function update()
{
if (IS_POST) {
$data = I('post.');
$res = $this->db->update($data);
if ($res) {
$this->ajaxReturn(['code'=>1,'msg'=>'更新成功']);
}else{
$this->ajaxReturn(['code'=>0,'msg'=>$this->db->getError()]);
}
}else{
$id = I('id');
if ($id) {
$this->info = $this->db->where(array('id'=>$id))->find();
}
$this->cate = $this->cate->where($map)->order('id desc')->select();
$this->display();
}
}
public function del(){
$id = I('id');
$res = $this->db->delete($id);
if ($res) {
$this->ajaxReturn(['code'=>1,'msg'=>'删除成功']);
}else{
$this->ajaxReturn(['code'=>0,'msg'=>'删除失败']);
}
}
}
~~~
模型 --Admin/Model/ImageModel.class.php
~~~
<?php
namespace Admin\Model;
use Think\Model;
class ImageModel extends Model
{
/* 数据库设置 */
protected $connection = 'DB_CONFIG2';
/**
* 自动验证
* @var array
*/
protected $_validate = array(
array('title', 'require', 'title 不能为空'),
array('upload_img', 'require', 'upload_img 不能为空'),
);
/**
* 自动完成
* @var array
*/
protected $_auto = array(
array('create_time', NOW_TIME, 1),
array('update_time', NOW_TIME, 3),
array('status',1),
);
/**
* 更新数据
* @DateTime 2018-05-04
* @return [type] [description]
*/
public function update($info){
$data = $this->create($info);
// dump($this->getError());die;
if(!$data){ //数据对象创建错误
return false;
}
/* 添加或更新数据 */
if(empty($data['id'])){
return $this->add();
}else{
return $this->save();
}
}
}
~~~
数据表
~~~
CREATE TABLE `lxl_image` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(32) NOT NULL,
`cid` int(11) NOT NULL,
`images` varchar(255) NOT NULL COMMENT '图片路径',
`create_time` int(11) NOT NULL,
`update_time` int(11) NOT NULL,
`status` tinyint(2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
~~~
页面 Image/index.html
~~~
<include file="Public:header" />
<include file="Public:top" />
<!-- Contents -->
<div id="Contents">
<!-- TopMain -->
<div id="TopMain">
<!-- btn_box -->
<div class="btn_box floatL">
<a href="{:U('Image/update')}" >
<input type="button" value="添加图片">
</a>
</div>
<!-- /btn_box -->
</div>
<!-- /TopMain -->
<!-- MainForm -->
<div id="MainForm">
<div class="form_boxA">
<h2>图片列表</h2>
<table cellpadding="0" cellspacing="0">
<tr>
<th>ID</th>
<th>标题</th>
<th>分类</th>
<th>更新时间</th>
<th>状态</th>
<th>操作</th>
</tr>
<volist name="list" id="vo">
<tr>
<td>{$vo.id}</td>
<td>{$vo.title}</td>
<td>{$vo.cid}</td>
<td>{$vo.update_time|date="Y-m-d H:i:s",###}</td>
<td>{$vo.status}</td>
<td>
<a name="edit" href="{:U('Image/update',array('id'=>$vo[id]))}">编辑</a>
<a class="del" link="{:U('Image/del',array('id'=>$vo['id']))}">删除</a>
</td>
</tr>
</volist>
</table>
</div>
</div>
<!-- /MainForm -->
<!-- PageNum -->
{$page}
<!-- /PageNum -->
</div>
<!-- /Contents -->
<include file="Public:footer" />
~~~
添加图片- Image/update.html
~~~
<include file="Public:header" />
<include file="Public:top" />
<!-- Contents -->
<div id="Contents">
<style type="text/css">
.layui-upload-file{
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
opacity: 0;
width: 100%;
height: 100%
}
</style>
<!-- TopMain -->
<div id="TopMain">
<!-- btn_box -->
<div class="btn_box floatL">
<a href="{:U('Image/index')}" style="text-decoration: none;">
<input type="button" value="返回" >
</a>
</div>
<!-- /btn_box -->
</div>
<!-- /TopMain -->
<!-- MainForm -->
<div id="MainForm" style="padding: 50px;">
<div class="form_boxC">
<form id="form" method="post">
<table cellpadding="0" cellspacing="0">
<tr>
<th>标题</th>
<td><div class="txtbox floatL">
<input type="text" name="title" id="title" size="100" value="{$info.title}" />
</div></td>
</tr>
<tr>
<th>分类</th>
<td>
<div class="selectbox floatL mag_r20">
<select name="cid" id="cid">
<option value="0" <if condition="$info['cid'] eq 0">selected="selected"</if>>请选择分类</option>
<volist name="cate" id="vo">
<option value="{$vo.id}" <if condition="$info['cid'] eq $vo['id']">selected="selected"</if>>{$vo.title}</option>
</volist>
</select>
</div>
</td>
</tr>
<tr>
<th>图片</th>
<td><div class="txtbox floatL">
<if condition="$info['images'] neq '' ">
<img src="{$image}{$info.images}" id="upload_image" class="file" width="80"/>
<else />
<img src="__PUBLIC__/Admin/images/common/add_image.jpg" class="file" id="upload_image" width="80"/>
</if>
<input type="hidden" name="images" id="image" value="{$info.images}" />
</div><span class="f_cB">(图片不能为空)</span></td>
</tr>
<tr>
<th> </th>
<td>
<div class="btn_box" style="box-shadow: none;">
<input type="hidden" name="id" value="{$info.id}" />
<input type="submit" style="min-width:160px;" value="修改">
</div>
</td>
</tr>
</table>
</form>
</div>
</div>
<!-- /MainForm -->
</div>
<!-- /Contents -->
<script>
$(function(){
var img_domain = "{$image}"; // 上传的图片服务器
var host = "{url:'{$uploadUrl}'}"; // 图片服务器地址
$('.file').attr('lay-data',host);
//普通图片上传
layui.use('upload', function(){
var upload = layui.upload;//执行实例
var uploadInst = upload.render({
elem: '.file',
done: function(res, index, upload){
if(res.code > 0){
// 上传成功
// 写入路径
$("#image").val(res.path);
var previewPhoto = this.item.parents(".preview-photo");
$('#upload_image').attr("src",img_domain+res.path);
}
}
});
});
$("#form").submit(function(e){
var res = $(this).serialize();
var url = "{:U('Image/update')}";
$.ajax({
url: url,
data: res,
type: 'post',
success:function(data){
if (data.code == 1) {
layer.alert(data.msg,{icon:6},function (index) {
layer.close(index);
window.location.href = "{:U('Image/index')}";
});
} else{
layer.alert(data.msg,{icon:5},function (index) {
layer.close(index);
window.location.reload();
});
}
}
});
return false; // 阻止表单跳转
});
});
</script>
<include file="Public:footer" />
~~~
远程服务器上传图片代码控制器
~~~
<?php
/**
* 上传方法
*/
namespace Api\Controller;
use Think\Controller;
class UploadController extends Controller
{
public function uploadFile()
{
header("Access-Control-Allow-Origin: *");
if (IS_POST) {
//生成图片前先判断
$path = './Uploads/uploadFile/';
// 检查目录是否存在 如果不存在目录 则创建目录
if(!is_dir($path)){
mkdir ( $path, 750, true );
}
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = $path.'/'; // 设置附件上传根目录
$upload->savePath = ''; // 设置附件上传(子)目录
$upload->saveName = array('uniqid',''); // 设置附件上传(子)目录
// 上传文件
$info = $upload->upload();
if(!$info) {// 上传错误提示错误信息
$this->ajaxReturn(['code'=>404,'msg'=>$upload->getError()]);
}else{// 上传成功 获取上传文件信息
foreach($info as $file){
$path = '/Uploads/uploadFile/'.$file['savepath'].$file['savename'];
}
$this->ajaxReturn(['code'=>200,'msg'=>'上传图片成功','path'=>$path]);
}
}
}
}
~~~
- php ping 地址
- python调用php脚本和sh调用php脚本
- php随机字符串
- redis操作
- 公共页面文件
- 登录
- 文章
- 文章管理
- 文章分类
- 图片
- 图片分类
- 图片管理
- 配置文件
- ueditor配置远程上传
- django
- 安装
- jinja2模板标签
- 虚拟机
- centos宝塔面板安装
- mysql主从搭建
- 虚拟机安装centos7
- 2
- 主从复制
- uni-app
- 更新
- 直播简单代码
- 搞笑的注释代码
- jwt
- centos以太坊环境搭建
- thinkphp5.1下的redis使用
- redis的安装
- tp5.1中使用
- tp5.1下载酷狗音乐
- 跨域
- tp5.1导出数据库到excel
- 钩子和行为
- 支付宝
- 申请支付宝app接入
- 视频播放
- 模块安装
- 推流配置
- pc端网页代码
- srs
- 后台布局
- 基础布局文件
- 左边
- 头部
- css特效代码
- 图片旋转
- 图片放大
- 顶部
- 列表页
- 更新数据表单页
- 模型获取器
- 上传图片
- mysql
- 一些常用
- 远程授权
- 数据库常用命令
- 忘记密码
- webpack
- 一些乱七八糟的东西
- linux后台运行脚本过大处理办法
- sublime插件
- linux svn安装
- 工具
- 查看进程
- 获取微信公众号文章
- 爬取微信公众号文章
- 清空nohup
- 服务器上跨域配置
- sql语句生成orm模型写法的工具
- centos换阿里源
- linux一些日志操作
- zsh