The managed_files table will store the link to the images for you. You just use the managed files api. Take a look at a core (filefield) or contrib module for examples.<br><br>I'm no expert on this, just spent some time cleaning it up in the late D7 phases...<br>
<br>-Randy<br><br><div class="gmail_quote">On Mon, May 2, 2011 at 12:14 AM, Peter Anderson <span dir="ltr"><<a href="mailto:list@panda.id.au">list@panda.id.au</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div bgcolor="#ffffff" text="#000000">
<font face="sans-serif">Hi Randy,<br>
<br>
I had a look at the File API handbook you linked to, and I guess
file_usage_add() is what I need, however I tried implementing it
and no new records are showing in the {file_usage} table...<br>
Here's the code: file_usage_add($uploaded_file, 'block_icons',
'block', $bid);<br>
(I got $bid from the {block} table)<br>
<br>
My module allows users to upload an image to each block on the
site, so I created my own database table where each block that has
an image associated with it is listed.<br>
If I don't need to store the path to the images anymore, I'm
assuming file_usage_add() does that for me somehow...?<br>
<br>
</font><div><div></div><div class="h5"><br>
On 02/05/11 13:13, Randy Fay wrote:
<blockquote type="cite">I'm a bit baffled why you'd consider accessing the
database directly - you should be using the file API.<br>
<br>
File API handbook section is at <a href="http://drupal.org/node/555118" target="_blank">http://drupal.org/node/555118</a>
<br>
<br>
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.<br>
<br>
A module that might help you is <a href="http://drupal.org/project/filefield_sources" target="_blank">http://drupal.org/project/filefield_sources</a>.
In fact, it might already do everything you need. Anyway, it
allows you to add a file from any source.<br>
<br>
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.<br>
<br>
-Randy<br>
<br>
<div class="gmail_quote">On Sun, May 1, 2011 at 8:21 PM, Peter
Anderson <span dir="ltr"><<a href="mailto:list@panda.id.au" target="_blank">list@panda.id.au</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div bgcolor="#ffffff" text="#000000"> <font face="sans-serif">Hi everyone,<br>
<br>
I'm upgrading my D6 module to D7 and am trying to work out
the best way to implement the new File API...<br>
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.<br>
<br>
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).<br>
The reasons I'm not sure are as follows:<br>
- Storing the File URI seems to be the obvious choice as
that seems to be the default now<br>
- But how would I allow users to enter the path of a file
already on the server in, say, their theme folder?<br>
- Storing the relative path is how I used to do it, so is
easier<br>
- But then how do I change a relative path to a File URI
when required (e.g. by the image_style_url() function)?<br>
<br>
Any assistance or advice would be much appreciated!<br>
</font>
<pre cols="72">--
Kind regards,
Peter Anderson.
<a href="http://panda.id.au" target="_blank">http://panda.id.au</a>
</pre>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
Randy Fay<br>
Drupal Module and Site Development<br>
<a href="mailto:randy@randyfay.com" target="_blank">randy@randyfay.com</a><br>
+1 <a href="tel:970.462.7450" value="+19704627450" target="_blank">970.462.7450</a><br>
<br>
</blockquote>
<br>
<pre cols="72">--
Kind regards,
Peter Anderson.
<a href="http://panda.id.au" target="_blank">http://panda.id.au</a>
</pre>
</div></div></div>
</blockquote></div><br><br clear="all"><br>-- <br>Randy Fay<br>Drupal Module and Site Development<br><a href="mailto:randy@randyfay.com">randy@randyfay.com</a><br>+1 970.462.7450<br><br>