[vox-tech] when is an html image "sent"?

Peter Jay Salzman p at dirac.org
Fri Dec 16 07:28:40 PST 2005


hi all,

i'm writing a blogging system called peetblog.  you can see a demo at
http://www.dirac.org/blog.  i haven't really linked to it much because it's
still under active development.

one of the features is a captcha system (an image file of letters/numbers
that someone needs to type in to comment on a post).  the code looks
something like this:



   ///   Captcha
   $retval = createImage();
   $filename = $retval['filename'];
   $passkey  = $retval['passkey'];
   $smarty->assign('filename', $filename);
   $smarty->assign('passkey', $passkey);

   $smarty->assign('id', $the_id);
   $smarty->assign('login', $_SESSION['user']->login);
   $smarty->assign('email', $_SESSION['user']->email);
   $smarty->assign('www', $_SESSION['user']->www);
   $smarty->display('permalink_C.tpl');



   // Footer
   //
   $smarty->assign('me', $selfUrl);
   $smarty->assign('rss', "$pb_url/$pb_rss");
   $smarty->display('footer.tpl');
   unlink($filename);
   exit(0);



footer.tpl contains the ending "</body></html>", so the page content ends
right there.  The <img> tag is contained in the permalink_C.tpl template.

The problem is that when:

   unlink($filename);

is used to delete the temporary image file, the image doesn't appear on the
webpage.  however, if i don't use "unlink", then the image files tend to
collect until i hand delete them.


i suppose at some point, the image needs to be sent from server to client.
when that happens, it would be ok to delete the image file.  i was *hoping*
that this would happen immediately after </html> is sent, but it appears
that i'm wrong.

is there some kind of technique I can use to make sure the image file gets
deleted after it's shipped off to the client?

thanks,
pete


More information about the vox-tech mailing list