[drupal-devel] Fwd: uploaded image file is included as PHP
Robrecht Jacques
robrechtj at gmail.com
Wed Aug 10 13:41:01 UTC 2005
See: http://drupal.org/node/28576.
Robert Douglas said I should send this to the mailinglist.
The problem is that when you upload an image file, this file is
included (as in "include($file)") during preview. This results in
errors like:
Parse error: parse error, unexpected '@' in
/home/demolici/shizzle/images/temp/crazyscrabbledude_0.jpg on line 30
When uploading a GIF file, it seems like the binary file is included
in the HTML source.
The reason for this is "phptemplate": it does a "include($file)" in
"_phptemplate_default" to include a template file (like
"node.tpl.php):
if ($file) {
extract($variables);
ob_start();
include($file);
...
}
Now if you have a form element called "file" (like in image.module),
somehow there exists a "$variables['file']", so when doing the
"extract($variables)", the local "$file" is overwritten by
"$variables['file']". Obviously the wrong "$file" is then included,
resulting in the error above.
A fix is added to the issue (#28576): before "extract($variables)" I
propose to do a "unset ($variables['file'])". I'm not sure if this is
the right fix.
Robrecht
More information about the drupal-devel
mailing list