여기서 매우 중요한 점이 있습니다. 즉, 양식 항목에 enctype="multipart/form-data"를 추가하는 것이 매우 중요합니다. 이는 해당 항목이 없는 경우 업로드할 수 있는 유형이기 때문입니다. , 그러면 업로드할 수 없습니다. 다른 유형의 enctype에 대해서는 향후 기사에서 설명하겠습니다. 여기에서 새로운 PHP 파일 AddAction.class.php를 생성합니다. 코드는 다음과 같습니다. 많은 Java 사용자는 일반적으로 두 문자열을 연결하여 사용하므로 혼동하기 쉽습니다.
class AddAction extends Action{ /** * 说明:ThinkPHP文件上传测试函数 * 版本:1.0 */ public function addChk(){ //导入图片上传类 import("ORG.Net.UploadFile"); //实例化上传类 $upload = new UploadFile(); $upload->maxSize = 3145728; //设置文件上传类型 $upload->allowExts = array('jpg','gif','png','jpeg'); //设置文件上传位置 $upload->savePath = "./Public/Uploads/";//这里说明一下,由于ThinkPHP是有入口文件的,所以这里的./Public是指网站根目录下的Public文件夹 //设置文件上传名(按照时间) $upload->saveRule = "time"; if (!$upload->upload()){ $this->error($upload->getErrorMsg()); }else{ //上传成功,获取上传信息 $info = $upload->getUploadFileInfo(); } //保存表单数据,包括上传的图片 $game = M("Game"); $game->create(); $savename = $info[0]['savename']; //$savepath = $info[0]['savepath']; //$aa = $savepath.$savename; //dump($aa); $imgurl = "http://demo.dutycode.com/Public/Uploads/".$savename;//这里是设置文件的url注意使用.不是+ //dump($imgurl); $data['gamename'] = $_POST['gamename']; $data['gameimg'] = $imgurl; $data['gameinfo'] = $_POST['gameinfo']; $data['gamelink'] = $_POST['gamelink']; $data['publishtime'] = date("Y-m-d H:i:s"); $res = $game->add($data);//写入数据库 if ($res){ $this->redirect("addGame","",2,"添加成功!两秒后跳回"); }else{ $this->redirect("addGame","",2,"失败!两秒后跳回"); } }
를 방문하세요.