如何绕过php中的最大执行时间?

dojqjjoe  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(296)

我知道这是一个丑陋的想法,但我怎么能绕过这个最大执行错误。我不想配置我在某些解决方案中读到的任何.ini。
我有这个代码上传csv到sql数据库,但这让我给一个错误时,上传大文件。请帮我修改代码

<?php
if(isset($_POST['submit'])) {
    $host = 'localhost';
    $user = 'root';
    $password = '';
    $db = 'jeremy_db';

    $con = mysqli_connect($host,$user,$password) or die('Could not' .mysqli_error($con));

    mysqli_select_db($con, $db) or die ('Could not' .mysqli_error($con));

    $file = $_FILES['file']['tmp_name'];
    $handle = fopen($file, "r");
    $c = 0;

    while(($csvdata = fgetcsv($handle,10000,","))!== FALSE){
        $sha1 = $csvdata[0];
        $vsdt = $csvdata[1];
        $trendx  = $csvdata[2];

        $sql = "INSERT INTO jeremy_table_trend (sha1,vsdt,trendx) VALUES ('$sha1','$vsdt','$trendx')";
        $query = mysqli_query($con , $sql);

        $c = $c+1;
    }
    if($query){
        echo "success"; 
    }
    else { 
        echo "error";
    }
}
?>
nbewdwxp

nbewdwxp1#

在循环中执行insert语句代价很高。您可以尝试将csv文件直接转储到mysql中,这将占用相对较少的执行时间。
参考这个问题

jdzmm42g

jdzmm42g2#

试试这个
将此行添加到代码中

ini_set('max_execution_time', 300); //300 seconds = 5 minutes //whatever you want

摘自如何增加php中的最大执行时间

相关问题