В настоящее время я создаю веб-приложение, которое отображает данные из файлов .csv для пользователя, где они редактируются и результаты сохраняются в MYSQL база данных.
На следующем этапе приложения я рассматриваю реализацию функциональности для записи результатов в ** существующие файлы .DBF **, используя PHP а также базы данных MySQL.
Любая помощь будет принята с благодарностью. Спасибо!
На самом деле есть третий путь, о котором я должен был подумать раньше, и, вероятно, лучше для того, что вы хотите. PHP, конечно, позволяет одновременно открывать два или более соединений с базой данных. И я только что проверил, PHP имеет расширение для dBase. Вы не сказали, в какую базу данных вы в действительности пишете (в некоторых из них кроме исходного dBase используются файлы .dbf), поэтому, если после этого у вас возникнут дополнительные вопросы, укажите, какая ваша целевая база данных на самом деле. Но это расширение, вероятно, будет работать для всех из них, я думаю, или проверить список расширений базы данных для PHP на http://php.net/manual/en/refs.database.php. Вы должны попробовать это и посмотреть.
Затем, чтобы дать представление о том, как открыть два соединения одновременно, вот фрагмент кода (на самом деле оракул в качестве второго БД, но он показывает основные принципы):
http://phplens.com/adodb/tutorial.connecting.to.multiple.databases.html
В Интернете есть немало рекомендаций и даже учебных пособий о множественных соединениях с базами данных из PHP, так что взгляните и на них.
Это стандартная ситуация в проектах переноса данных — как получить данные из одной базы данных в другую. Ответ заключается в том, чтобы выяснить, в каком формате должны быть целевые файлы (в данном случае формат файлов .dbf), а затем просто собрать данные из файла MySQL, перегруппировать их в требуемый формат и записать новый файл с использованием функций записи файлов PHP.
Я не говорю, что это легко сделать; Я не знаю формат файлов .dbf (это был формат, используемый dBase, но он также использовался и в других местах). Вам не только нужно знать формат записей .dbf, но почти наверняка будет информация заголовка, если вы создаете новые файлы (но вы говорите, что файлы уже существуют, так что это не должно быть проблемой для вас). Но записи также могут содержать небольшое количество данных заголовка, которые вам нужно будет написать для работы, и каждый из них в требуемой форме.
Поэтому вам нужно выяснить точный формат файлов .dbf — без сомнения, Google найдет вам информацию об этом. Но я понимаю, что даже .dbf может иметь различные различия — в этом случае вам нужно будет взглянуть на структуру существующих файлов, чтобы разрешить их при необходимости).
Альтернативное решение, если вам не нужно мгновенное копирование в целевую базу данных, заключается в том, что у него может быть возможность импортировать данные из файлов CSV, что намного проще — и у вас уже есть файлы CSV. Но, вероятно, порядок полей данных в этих файлах отличается от порядка полей в целевой базе данных (если только они не получены из целевой базы данных, но, вероятно, вы бы не попытались записать их обратно, если они не являются архивными записями) , Однако я хочу сказать, что вы можете записать данные в файлы CSV из программы PHP в порядке полей, требуемых вашей целевой базой данных, а затем прочитать их в целевую базу данных в качестве отдельного шага. Другими словами, двухэтапный процесс. Это особенно подходит для миграций, когда вы выполняете однократный перенос в новую базу данных.
В общем, у вас сложный, но интересный проект!