最近又涉及到tp的文件上传,发现了一个未知错误,通过查资料找到了解决办法。现记录如下:
表单代码:
昵 称:
autocomplete="off">
电 话:
autocomplete="off">
性 别:
男
女
头像上传:
autocomplete="off"/>
个性签名:
class="btn btn-primary btn-ls"> 保 存 信 息
控制器代码: import('ORG.Net.UploadFile');
$upload = new UploadFile(); // 实例化上传类
$upload->maxSize = 8388608; // 最大8M
$upload->saveRule = '';
// $upload->allowExts = array('jpg', 'gif', 'png', 'jpeg'); // 设置附件上传类型
$upload->savePath = './Uploads/headimg/'; // 设置附件上传目录
if (!$upload->upload()) { // 上传错误提示错误信息
$this->error($upload->getErrorMsg());
} else { // 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
// dump($info);
// exit;
$data['uphone'] = $_POST['phone'];
$data['uname'] = $_POST['username'];
$data['usex'] = $_POST['sex'];
$data['udescribe'] = $_POST['describe'];
$data['uimage'] = $info[0]['name'];
之后的$info并没有打印出来,最后在进行文件上传的时候,总是提示没有选择上传的文件,但是我明明已经选择了呀,最后才发现在form表单中少了一点enctype="multipart/form-data",加上之后就好了,这是表示文件上传的表单标志,或许就是因为少了这个东西,所以tp的扩展包中就默认不是文件上传的表单,故发生没有文件上传的错误。
看来错误都是发生在细节中