最近又涉及到tp的文件上傳,發現了一個未知錯誤,經過查資料找到了解決辦法。現記錄以下:post
表單代碼:
ui
<form action="__URL__/doinfo" id="info_form" method="post">
<div class="form-group">
<label for="username" class="lable_name">暱 稱:</label>
<input id="username" name="username" type="text" class="form-control x164"
autocomplete="off">
</div>
<div class="form-group">
<label for="phone" class="lable_name">電 話:</label>
<input id="phone" name="phone" type="text" class="form-control x164"
autocomplete="off">
</div>
<div class="form-group">
<label for="sex" class="lable_name">性 別:</label>
<input type="radio" class="form-control1" name="sex" checked="checked" value="0"/>男
<input type="radio" class="form-control1" name="sex" value="1"/>女
</div>
<div class="form-group top1">
<label for="username" class="lable_name">頭像上傳:</label>
<input id="username" name="headimg" type="file"
autocomplete="off"/>
</div>
<div class="form-group top1" style="margin-top:30px;">
<label for="username" class="lable_name">個性簽名:</label>
<textarea id="describe" class="text" rows="5" name="describe" autocomplete="off">
</textarea>
</div>
<div class="form-group">
<label class="t"></label>
<button type="submit" id="submit_btn"
class="btn btn-primary btn-ls"> 保 存 信 息 </button>
</div>
</form>this
控制器代碼: 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'];orm
以後的$info並無打印出來,最後在進行文件上傳的時候,老是提示沒有選擇上傳的文件,可是我明明已經選擇了呀,最後才發如今form表單中少了一點enctype="multipart/form-data",加上以後就行了,這是表示文件上傳的表單標誌,或許就是由於少了這個東西,因此tp的擴展包中就默認不是文件上傳的表單,故發生沒有文件上傳的錯誤。ip
看來錯誤都是發生在細節中
get