views:

25

answers:

2

I am creating an intranet application in php that is running on a client's local server. I need to be able to "push" certain data from my MySQL database out to a file or list of files that need to be able to be read by his public website, hosted on a shared hosting environment.

I plan on sending these files out every hour via FTP to the webhost.

What type of file format would be easiest to use for this? I am used to using MySQL to access data, but have never accessed data in a flat file before. Should I use a CSV file, or I have heard of SQLITE? What would be the best way to perform this? I do not want to give the website access to the local mysql server on site since the internet connection could go down here and customers visiting the website would be without data. Also, it would not be as fast to connect the website to the local MySQL database.

I would rather not create a remote MySQL database to push the updated info to, since it will only be a few pieces of data.

Both the internal application and the website are built using the Codeigniter PHP framework.

A: 

CSV would probably be the easiest... I would however use sftp or scp instead of FTP to push. I also wouldnt so the push in php .. id just have a scheduled cron job on the local network take care of it at whatever interval is reasonable.

prodigitalson
+1  A: 

Why not use json, XML, or serialized PHP data in the file? Then the code on the intranet can just load the file and parse the data using something PHP can already handle allowing you not having to write a parser. Why mess with other problematic file formats if its the application that needs to understand the data?

cdburgess
I think XML complicate things but +1 for JSON or serialized php types, that would be a whole lot easier to work with than CSV... Well unless the dataset is huge then it might be an issue.
prodigitalson
Yeah, I agree. I only threw the XML in there as an option, but it would be my last choice. serialize() would take first because it is so simple.
cdburgess