致命错误:允许的内存大小为134217728字节耗尽(尝试分配133693393字节)

时间:2017-05-30 10:29:24

标签: php

我制作了一个读取.txt文件的脚本,并将该文件中每行的数据放入数据库中。但问题是文件大小为7.5mb。并且php不允许这个文件大小。

我还写过" ini_set(' memory_limit',' -1');"不推荐,所以我想知道如何解决这个问题。

我的剧本:

$file = fopen("./ftp_imports/ingram/ingram_fees.txt", "r");
$first_row = fgets($file);
$column = explode(",", $first_row);
$columns = count($column);

while ($row = fgets($file)) {
    $value = explode(",", $row);
    $i = 0;
    try {
        // Add a SQL-query.
        $i2 = 0;
        $sql = "INSERT INTO ingram_fees (";
        while ($i2 <= ($columns - 1)) {
            if ($i2 < ($columns - 1)) {
                $sql .= $column[$i2].",";
            } else {
                $sql .= $column[$i2];
            }
            $i++;
        }
        $sql .= ") VALUES (";
        $i2 = 0;
        while ($i2 <= ($columns - 1)) {
            if ($i2 < ($columns - 1)) {
                $sql .= ":".$column[$i2].",";
            } else {
                $sql .= ":".$column[$i2];
            }
        }
        $sql .= ")";
        $stmt = $db->prepare($sql);
        $sql_array = array();
        $i2 = 0;
        while ($i2 <= ($columns - 1)) {
            $key = ":".$column[$i2];
            $sql_array[$key] = $value[$i];
        }
        $stmt->execute($sql_values);
    } catch (PDOException $e) {
        echo $e->getMessage();
    }
}

也许我的代码有点乱,那是因为我是php的初学者:p

有人可以举个例子来解决这个问题吗?

由于

0 个答案:

没有答案