Как я могу распаковать и прочитать файл, который находится внутри сервера? - PullRequest
1 голос
/ 11 июля 2019

У меня есть 3 файла json.gz на удаленном сервере.Эти 3 файла необходимо распаковать, прочитать и добавить данные в БД, все с PHP.У меня нет проблем с этим, если скрипт находится на моем компьютере, но это нужно делать, находясь внутри сервера, так как я собираюсь устанавливать cron со сценарием, который будет выполняться каждый день.Как мне это сделать?Пожалуйста, любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 11 июля 2019

Вы можете запустить команду linux в php, окружив ее оператором backtick, так что вы можете сделать что-то вроде этого.

// gunzip the file
$cmd = `gunzip /path/to/compressed_file.json.gz`;
// read the file content 
$json = file_get_contents("/path/to/compressed_file.json");
// insert the data if it was read correctly
if($json){
    array($json); // trying to indicate here that you would use this value in a prepared statement in either pdo or mysqli
    $sql = "insert into table_name (datafield) values (?);"
}

Вам нужно разобраться с sql или дать нам больше информации обаза данных

При запуске gunzip он распаковывает файл на месте и удаляет расширение .gz.

...