[development] D7 File API

Randy Fay randy at randyfay.com
Mon May 2 03:13:52 UTC 2011

I'm a bit baffled why you'd consider accessing the database directly - you
should be using the file API.

File API handbook section is at http://drupal.org/node/555118

You should use the File API to create managed or unmanaged file entries, and
not worry more about how they are stored in the db.

A module that might help you is http://drupal.org/project/filefield_sources.
In fact, it might already do everything you need. Anyway, it allows you to
add a file from any source.

It *is* complicated trying to allow access to a file that is not in your
public or private files section. The idea of having drupal:// didn't get in.


On Sun, May 1, 2011 at 8:21 PM, Peter Anderson <list at panda.id.au> wrote:

>  Hi everyone,
> I'm upgrading my D6 module to D7 and am trying to work out the best way to
> implement the new File API...
> My module allows users to either upload a file from their computer, or
> enter the relative path of a file already on the server (e.g.
> /sites/default/themes/...). The relative path to this file is then stored in
> the DB.
> I'm not sure what to store in the database in the D7 version: the file URI
> (public://my_file.png) or the relative path as per the D6 version
> (/sites/default/files/my_file.png).
> The reasons I'm not sure are as follows:
> - Storing the File URI seems to be the obvious choice as that seems to be
> the default now
> - But how would I allow users to enter the path of a file already on the
> server in, say, their theme folder?
> - Storing the relative path is how I used to do it, so is easier
> - But then how do I change a relative path to a File URI when required
> (e.g. by the image_style_url() function)?
> Any assistance or advice would be much appreciated!
> --
> Kind regards,
> Peter Anderson.http://panda.id.au

Randy Fay
Drupal Module and Site Development
randy at randyfay.com
+1  970.462.7450
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/development/attachments/20110501/3ab782ce/attachment-0001.html 

More information about the development mailing list