【问题标题】:csv not uploading to db using laravelcsv没有使用laravel上传到数据库
【发布时间】: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
  • &lt;input type="hidden" name="_token" id="csrf-token" /&gt; 将其添加到您的表单中
  • Laravel 使用 csrf-token 来防止 CSRF

标签: php mysql laravel laravel-5


【解决方案1】:

你的路线错了。上传是POST请求所以:

Route::post('uploadFile', 'Chatbot\ChatbotController@uploadFile');

【讨论】:

    【解决方案2】:

    真正的问题是:你为什么不使用 Eloquent 或至少 QueryBuilder 来插入数据库

    【讨论】:

      猜你喜欢
      • 2018-08-18
      • 2020-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      • 2019-03-29
      • 1970-01-01
      相关资源
      最近更新 更多