I am looking for a mature PHP-based, preferably Open Source, Document management solution.
Requirements:
Nice to haves:
I am aware of
and would appreciate any additional hints and links to related projects - also in the direction of Asset Management for advertising agencies and such. For a brilliant, totally outstanding killer application that does most things out of the box I would also be ready to go beyond PHP (but it has to be a web app).
I checked through the dupes but found no question going into the right direction.
Firstly let me state that this answer is an "alternative" solution to your requirements and maybe not be the exact answer your looking for but I think the software that im about to descibe may influence you to look at other languages / platforms.
The software is called Microsoft Sharepoint 2010 which the Free Product, Links are below.
Firstly ill let you know that actual files are stored as binary within the database, and are not physical files on the system.
I have been working with sharepoint for the past few weeks few weeks now and I find it amazing, the way the application is designed is extreamly complex but the branding is not that complex, especially if you know C#.
Manage documents, preferably in a folder structure
Interface:
Multi-user capable
An API to read / write documents would be great
What I would recommend you doing is researching the platform in more detail and watching video cast on Youtube and Microsoft.
With foundation you do not have to scale your Sharepoint out as a farm, you can have it all in the same box such as a Server with MSSQL, Office 2007 installed, IIS, And Sharepoint on top of that.
if you do not have the resources for this then you can always rent a Sharepoint Server pre deployed.
Update 1.
Also i would like to mention that creating a network share on your PC and pointing the location to (http://pecka.com/archive) would result in being able to drag and drop files in the folder and them getting synchronizes with SharePoint, meta data automatically generated and stored in the DB.
Sorry for the rambe but i would at least look into it