PHP импорт существующего ZIP-файла в базу данных - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть функция PHP для импорта выбранных пользователем файлов, в основном текстовых и CSV, в нашу базу данных. Теперь я wi sh, чтобы расширить его функциональность для обслуживания сжатой папки ZIP.

В настоящее время я использую file_get_contents, чтобы получить содержимое файла и связать его как CLOB для хранения в таблице. .

К сожалению, установка дополнительных библиотек или аналогичных программ не подходит для меня, и у нас нет ZipArchive. Однако у нас есть функции ZIP, такие как zip_open, zip_read et c.

Когда я использую file_get_contents на существующем ZIP, он, похоже, теряет или повреждает некоторые данные и, следовательно, не может быть распакован. Появляется ошибка «Сжатая (заархивированная) папка недействительна» на windows.

Изучив другие подобные вопросы и документацию, мне кажется, что я могу прочитать и извлечь существующий выбранный ZIP-файл, l oop, используя его содержимое, создайте совершенно новый сжатый ZIP-архив и затем используйте его для привязки к нашей базе данных. Я, вероятно, буду go идти по этому пути, если это будет необходимо, но я надеюсь, что кто-то здесь сможет посоветовать мне более разумное решение, используя комбинацию zip_open и file_get_contents et c ..?

1 Ответ

0 голосов
/ 17 апреля 2020

Хотите ли вы делить zip на отдельные файлы или наоборот? В обоих случаях вы можете рассмотреть zip-обработку на стороне Oracle DB. В зависимости от вашей Oracle версии у вас есть различные варианты, например APEX_ZIP package.

...