日期: 2022-09-20 15:57:33 浏览数:4

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
眉山微信公众号开发【眉山网络推广】眉山建站、眉山网站维护、眉山网页制作、眉山微信小程序代运营公司

眉山,古称眉州,是千年大文豪苏东坡的故乡 [2] , [1] 是国家级天府新区的重要组成部分 [3] ,素有“千载诗书城”“人文第一州”美誉 [4] 。面积7140平方公里 [5] ,人口350万 [6] ,辖东坡、彭山两区和仁寿、洪雅、丹棱、青神四县。 [5]
眉山文化厚重。宋代曾是我国三大雕版印刷中心之一,唐宋散文八大家中,眉山苏洵、苏轼、苏辙独占三席。两宋年间,眉山进士886人,史称“八百进士”。 [7]
眉山生态宜居,地处中亚热带湿润季风气候区,四季分明、无霜期长 [8] 。全市森林覆盖率达50% [8] ,城乡绿化覆盖率58.04% [9] ,水域面积占国土面积比重达9.5% [8] ,是国家园林城市、国家森林城市。拥有“世界最美桌山”瓦屋山、“长寿福地”彭祖山、 [8] “川西第一海”黑龙滩 [10] 、“峨眉半山”七里坪 [10] 等景点,被评为亚太地区(二三线城市)首选旅游目的地 [10] 、中国最美生态文化旅游城市。 [11]
眉山区位优越,主城区距离成都仅60公里,距离成都双流国际机场、成都天府国际机场均为50公里, [8] 成眉间动车公交化运营,列车数量达80列次/日。 [12] 眉山全域都在天府新区辐射范围内,含94平方公里核心区、448平方公里协调管控区。 [13] 招商引资连续11年居四川前5 [14] ,落户世界500强企业数量33家、居四川第2。 [15]
根据[thinkPHP5入门实战_09]后台添加栏目及验证介绍新增栏目的方式构建新增文章的操作方法
![[thinkPHP5项目实战_13]新增文章界面附件上传](/static/upload/image/20210604/1622781800106716.png)
构建验证器validate/Article.php:
<?phpnamespace appdminalidate;use thinkValidate;class Article extends Validate{ //验证规则 protected $rule = [ //必须,长度不能超过25,名称不能重复 'title' => 'require|max:25|unique:article', ]; //验证提示 protected $message = [ 'title.unique' => '文章名称不能重复', 'title.max' => '文章名称不能大于25个字符', 'title.require' => '文章名称必须', ];}控制器方法controller/Article.php:
<?phpnamespace appdmincontroller;use thinkController;class Article extends Controller{ public function lists() { return $this->fetch(); } public function add() { //reuqest方法继承于Controller,使用request助手函数判断请求方式 //使用助手函数input接收接收输入的值 if(request()->isPost()){ $data = [ 'title' => input('title'), 'keywords' => input('keywords'), 'desc' => input('desc'), 'content' => input('content'), 'time' => time(), ]; //对输入的内容进行验证,使用tp5推荐的验证器的方式 $validate = hinkLoader::validate('Article'); if($validate->check($data)){ var_dump($data);//如果验证没问题就输出信息 }else{ //验证失败输出提示信息 return $this->error($validate->getError()); } return; } return $this->fetch(); }}thinkPHP5提供了文件上传的方法:
ThinkPHP5.0对文件上传的支持更加简单。
内置的上传只是上传到本地服务器,上传到远程或者第三方平台的话需要自己扩展。
假设表单代码如下:
<form action="/index/index/upload" enctype="multipart/form-data" method="post"> <input type="file" name="image" /> <br> <input type="submit" value="上传" /></form>
然后在控制器中添加如下的代码:
public function upload(){ // 获取表单上传文件 例如上传了001.jpg $file = request()->file('image'); // 移动到框架应用根目录/public/uploads/ 目录下 $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads'); if($info){ // 成功上传后 获取上传信息 // 输出 jpg echo $info->getExtension(); // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg echo $info->getSaveName(); // 输出 42a79759f284b767dfcb2a0197904287.jpg echo $info->getFilename(); }else{ // 上传失败获取错误信息 echo $file->getError(); }}move方法成功的话返回的是一个 hinkFile对象,你可以对上传后的文件进行后续操作。
在本项目中,用户可以选择是否上传文件,因此在需要在操作方法中进行一个判断是否有文件上传,
上传后的文件需要保存在/public/static/uploads目录下,因此需要修改路径为/static/uploads,
$data[‘pic’]需要将文件在本地的位置存储到数据库中,因此需要使用字符串拼接出文件位置,
最后将$data存入数据库。
最终代码为:
<?phpnamespace appdmincontroller;use thinkController;class Article extends Controller{ public function lists() { return $this->fetch(); } public function add() { //reuqest方法继承于Controller,使用request助手函数判断请求方式 //使用助手函数input接收接收输入的值 if(request()->isPost()){ $data = [ 'title' => input('title'), 'keywords' => input('keywords'), 'desc' => input('desc'), 'content' => input('content'), 'time' => time(), ]; //判断表单是否上传了文件 if($_FILES['pic']['tmp_name']){ //获取表单上传的文件 $file = request()->file('pic'); // 移动到框架应用根目录/public/uploads/ 目录下 $info = $file->move(ROOT_PATH . 'public' . DS . '/static/uploads'); if($info){ //拼接文件路径 //使用date()方法计算出八位时间,上传到uploads的文件所在的文件名就是这八位时间 //使用$info->getFilename()方法获取文件名 $data['pic'] = '/static/uploads/'.date('Ymd').'/'.$info->getFilename(); }else{ // 上传失败返回错误信息 return $this->error($file->getError()); } }; //对输入的内容进行验证,使用tp5推荐的验证器的方式 $validate = hinkLoader::validate('Article'); if($validate->check($data)){ //文件上传完毕,表单验证完毕,存入数据库 $res = hinkDb::name('article')->insert($data); //添加判断,成功则跳转到lists方法 if($res){ return $this->success('增加文章成功'); }else{ return $this->error('增加文章失败'); } }else{ //验证失败输出提示信息 return $this->error($validate->getError()); } return; } return $this->fetch(); }}![[thinkPHP5项目实战_13]新增文章界面附件上传](/static/upload/image/20210604/1622781801200506.png)
眉山微信公众号开发【眉山网络推广】眉山建站、眉山网站维护、眉山网页制作、眉山微信小程序代运营公司
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)