我的文件有很多这样的条目:
18923081293801293.dateTime=12.10.2016 19\:46\:25
18923081293801293.animal=cat
18923081293801293.name=Fred
18923081293801293.age=24
67923781263804221.dateTime=15.04.2016 20\:26\:11
67923781263804221.animal=horse
67923781263804221.name=Larry
67923781263804221.age=21
....
我正在解析文件......
if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
$file_path = $file['name'];
$linesArray = file($file_path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$properties = array();
foreach ( $linesArray as $str) {
if (strlen($str) && $str[0] == '#') {
$pdate = substr($str, 1);
$date = rtrim($pdate);
$formatted = DateTime::createFromFormat('* M d H:i:s T Y',$date);
}
rtrim ($str, "\n");
$exp = explode ('=', $str);
if(count($exp) == 2){
$exp2 = explode('.', $exp[0]);
if( count($exp2) == 2 ) {
if($exp2[1] == "dateTime"){
$s = str_replace("\\","",$exp[1]);
$d = strtotime($s);
$dateTime = date('Y-m-d H:i:s', $d);
$properties [$exp2[0]][$exp2[1]] = $dateTime;
} else {
$properties [$exp2[0]][$exp2[1]] = $exp[1];
}
} else {
$properties [$exp[0]] = $exp[1];
}
}
}
}
...并创建一个数组:
var_dump($properties);
array(5) {
["18923081293801293"]=>
array(5) {
["dateTime"]=>
string(19) "2016-10-12 19:46:25"
["animal"]=>
string(3) "cat"
["name"]=>
string(4) "fred"
["age"]=>
string(2) "24"
}
.... and so on
}
这通常很有效。但是现在我有一个包含大量条目的非常大的文件,并且没有创建数组。结果是一个空白页面。我该怎么办?