Thinkphp-Formular-Datei hochladen und Dateipfad in der Datenbank speichern

不言
Freigeben: 2023-03-25 16:16:01
Original
2652 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich die relevanten Informationen zum Hochladen von Dateien über thinkphp-Formulare und zum Speichern von Dateipfaden in der Datenbank vorgestellt.

Das Hochladen einer einzelnen Datei dient als Beispiel. Der Effekt ist wie in der Abbildung gezeigt

Erstellen Sie die Datenbank upload_img, um den Upload-Pfad zu speichern

CREATE TABLE `seminar_upload_img` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`img_name` varchar(255) DEFAULT NULL COMMENT '图片名称',
`img_url` varchar(255) DEFAULT NULL COMMENT '图片路径',
`create_time` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;
Nach dem Login kopieren

Verbinden Sie sich mit der Datenbank in der öffentlichen Konfigurationsdatei Common/Conf.php und konfigurieren Sie die Adresse

return array(
'DB_TYPE'=>'mysql',
'DB_HOST'=>'127.0.0.1',
'DB_NAME'=>'seminar',
'DB_USER'=>'root',
'DB_PWD'=>'root',
'DB_PORT'=>3306,
'DB_PREFIX'=>'seminar_',
'DB_CHARSET'=>'utf8',
'SHOW_PAGE_TRACE'=>true,
/*地址替换*/
'TMPL_PARSE_STRING'=>array(
'__UPLOAD__'=>__ROOT__.'/Public/Uploads',
),
);
Nach dem Login kopieren

in der Ansichtsdatei Upload/index.html

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
#img{height:22px; border:#000 2px solid}
#button{height:30px; width:100px;}
</style>
</head>
<body>
<p><notemply name="data">
<img src="__UPLOAD__/{$data[&#39;img_url&#39;]}" width="200" height="100"/>
</notemply></p>
<p class="result" >上传允许文件类型:&#39;jpg&#39;, &#39;gif&#39;, &#39;png&#39;, &#39;jpeg&#39;图像文件后</p><br>
<form action="{:U(&#39;upload/Upload&#39;)}" method="post" enctype="multipart/form-data">
<input type="file" name="image"/>
<input type="submit" value="上传" id="button">
</form>
</body>
</html>
Nach dem Login kopieren

Das Hochladen von Dateien ist im Controller UploadController.class.php

<🎜 implementiert >

namespace Home\Controller;
use Think\Controller;
class UploadController extends Controller {
public function index() {
$img=M(&#39;upload_img&#39;);
$sel=$img->order(&#39;create_time desc&#39;)->find();
$this->assign(&#39;data&#39;, $sel);
$this->display();
}
public function upload(){
$upload_img=M(&#39;upload_img&#39;);
if(!empty($_FILES)){
//上传单个图像
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 1*1024*1024 ;// 设置附件上传大小
$upload->exts = array(&#39;jpg&#39;, &#39;gif&#39;, &#39;png&#39;, &#39;jpeg&#39;);// 设置附件上传类型
$upload->rootPath = &#39;Public/Uploads/&#39;; // 设置附件上传根目录
$upload->savePath = &#39;&#39;; // 设置附件上传(子)目录
$upload->saveName=array(&#39;uniqid&#39;,&#39;&#39;);//上传文件的保存规则
$upload->autoSub = true;//自动使用子目录保存上传文件 
$upload->subName = array(&#39;date&#39;,&#39;Ymd&#39;);
// 上传单个图片
$info = $upload->uploadOne($_FILES[&#39;image&#39;]);
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError());
}else{// 上传成功 获取上传文件信息
$img_url=$info[&#39;savepath&#39;].$info[&#39;savename&#39;];
$data[&#39;img_url&#39;]=$img_url;
$data[&#39;img_name&#39;]=$info[&#39;savename&#39;];
$data[&#39;create_time&#39;]=NOW_TIME;
$upload_img->create($data);
$result=$upload_img->add();
if(!$result){
$this->error(&#39;上传失败!&#39;);
}else{
$this->success(&#39;上传成功&#39;);
}
}
}
}
}
Nach dem Login kopieren
verwandt Empfohlen:

Anwendung zur automatischen Überprüfung von ThinkPHP-Formularen, PHP-Tutorial zur Überprüfung von ThinkPHP-Formularen

Das obige ist der detaillierte Inhalt vonThinkphp-Formular-Datei hochladen und Dateipfad in der Datenbank speichern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage