【发布时间】:2017-07-19 05:44:41
【问题描述】:
控制器
public function uploadFile()
{
if(isset($_POST["uploadFile"])){
$filePath = realpath($_FILES["file"]["tmp_name"]); //GETTING THE FULL PATH OF THE FILE WHICH WANTS TO BE SAVED INTO THE DB
$arr = [];
if (($handle = fopen($filePath, 'r')) !== FALSE){
$i = 0;
while (($lineArray = fgetcsv($handle, 4000)) !== FALSE){
for ($j=0; $j<count($lineArray); $j++){
$arr[$i][$j] = $lineArray[$j];
} $i++;
} fclose($handle);
}
$csv = array_slice($arr,1);
foreach($csv as $line){
mysqli_query($mysqli, "INSERT INTO dialog(`eType`,`eVal`,`intent`,`reply`) VALUES('$line[0]','$line[1]','$line[2]','$line[3]')"); //FOR EACH LINE SAVE INTO THE DB
}
}
}
路线
Route::get('uploadFile', 'Chatbot\ChatbotController@uploadFile');
查看
<form method="post" action="{{action('AltHr\Chatbot\ChatbotController@uploadFile')}}" enctype="multipart/form-data">
<input type="file" name="file"> <br>
<button type="submit" name="uploadFile" class="btn alt-btn-black btn-xs alt-btn">UPLOAD FILE</button>
</form>
所以,这是我学习 laravel 的第一天,有人能告诉我为什么会出现这个错误 RouteCollection.php 中的 MethodNotAllowedHttpException
我正在尝试将表单中的 CSV 文件上传到数据库。我在这里做错了什么?
【问题讨论】:
-
对于发布请求,您必须使用
Route::post路由方法,而不是Route::get -
伙计们,现在我遇到了这个错误“VerifyCsrfToken.php 中的 TokenMismatchException”
-
请清除缓存,
php artisan cache:clear -
<input type="hidden" name="_token" id="csrf-token" />将其添加到您的表单中 -
Laravel 使用
csrf-token来防止 CSRF
标签: php mysql laravel laravel-5