【发布时间】:2015-01-13 03:50:21
【问题描述】:
我正在尝试执行一些 PHP 代码,然后使用 Javascript 获取我的一个 PHP 变量并使用它打开一个新窗口,其中包含该变量的 CSV 格式的内容。
这在我的 PHP 变量相对较小(即 1,000 个条目)时有效,但是当我在数组中具有例如大约 20,000 个条目的代码上执行它时,它会在下面的 PHP 代码中停止而不会引发任何错误。我的问题可能是什么?昨天我将问题追溯到 array_column - 代码一旦到达该行就会停止执行。然而,它今天又做了一次,即使没有那个功能,我认为肯定有更大的问题。我重新包含了那些 array_column() 调用,因为我认为它们不是真正的问题。这是 PHP 代码:
function generateTextFile(){
$array = $_SESSION["array"];
$hostCol = array_column($array, "host");
$timeCol = array_column($array, "Time");
$col3 = array_column($array, "col3");
$col4 = array_column($array, "col4");
$signalCol = array_column($array, "Signal");
for($x = 0; $x < count($timeCol); $x++){
if(!isset($array[$x]["host"])){
$hostCol[$x] = $_GET['hostname'];
}
else{
$hostCol[$x] = $array[$x]["host"];
}
}
$subArray = array($hostCol, $timeCol, $col3, $col4, $signalCol);
$out = array();
foreach($subArray as $rowkey => $row){ // invert the array
foreach($row as $colkey => $col)
$out[$colkey][$rowkey] = $col;
}
$text = "";
for($x = 0; $x < count($out); $x++){
$curText = implode(",", $out[$x]);
$text = $text . $curText . "<br>";
}
$_SESSION['text'] = $text;
}
我在上面的 PHP 代码中做错了什么吗?它只是构建一个数组,然后以 CSV 格式创建另一个变量。在调用上述函数之后,我在我的 HTML 部分中声明了脚本。非常感谢您的洞察力。
【问题讨论】:
-
你的 php 的
max_execution_time是什么?如果它适用于很少的记录但会中断很多记录,则可能是超时问题。尝试increase time limit 并测试它是否有效。
标签: javascript php html csv