0
Этот код работает в php 7
(localhost), но не php 5
(isp). Он преобразует текстовый файл с разделителями в файл json
для использования с dataTables
.скрипт работает в php 7, но не php 5
источник:
6590|07/19/2003|RCC Sat. Open|C11|Nikolayev, Igor (FM)|2402|Gonzalez, Jose|2131|1-0|
Желаемый результат:
{"data":[
{"game":"6624","Date":"11/01/2003","Event":"RCC Sat. Open","ECO":"C65","White":"Liman, Christ","WhiteElo":"1729","Black":"Nikolayev, Igor (FM)","BlackElo":"2408","Result":"0-1"},
....
]}
Каким образом?
<?php
$text = file('games.txt'); $count = count($text); arsort($text);
$X = 0;
$fp = fopen("games.json", "w");
fwrite ($fp, "{"); fwrite ($fp, '"data":[');
foreach($text as $line) {$token = explode("|", $line);
$game = $token[0]; $date = $token[1]; $event = $token[2]; $eco = $token[3]; $white = $token[4];
$white_rating = $token[5]; $black = $token[6]; $black_rating = $token[7]; $result = $token[8];
fwrite ($fp, "\n");
fwrite ($fp,'{');
fwrite ($fp, '"game":"'.$game.'",');
fwrite ($fp, '"Date":"'.$date.'",');
fwrite ($fp, '"Event":"'.$event.'",');
fwrite ($fp, '"ECO":"'.$eco.'",');
fwrite ($fp, '"White":"'.$white.'",');
fwrite ($fp, '"WhiteElo":"'.$white_rating.'",');
fwrite ($fp, '"Black":"'.$black.'",');
fwrite ($fp, '"BlackElo":"'.$black_rating.'",');
fwrite ($fp, '"Result":"'.$result.'"');
$X++;
fwrite ($fp, '}');
if ($X <= $count-1) {fwrite ($fp, ',');}
}
fwrite ($fp, "]");
fwrite ($fp, "}");
fclose($fp);
header('Location:pgn_assistant.php');
?>
Не рекомендуется создавать собственный метод преобразования JSON, когда 'json_encode' существует изначально. Также вы получаете какие-либо ошибки? – apokryfos
У меня нет ошибок. Вскоре я исследую json_encode. – verlager
На первый взгляд я не вижу ничего несовместимого с PHP 5.6. Правильны ли ваши права на файлы, которые вы пытаетесь читать и писать? Или они находятся в правильных местах? – thodic