我可以毫无问题地从单个表中检索图像,但是如果我在不同的表中有图像,我不确定它是如何工作的。 假设我有两个表(图像和类别)可以包含图像
images category
-gallery_id -cat_id
-image_id -image
-image
所以我想我可以在查询字符串中传递另一个参数来指定哪个表
if(mysql_escape_string(@$_GET['type']) === 'icon')
$PHPTHUMB_CONFIG['mysql_query'] = 'SELECT `image` FROM `category` WHERE (`cat_id` = \''.mysql_escape_string(@$_GET['id']).'\')';
else
$PHPTHUMB_CONFIG['mysql_query'] = 'SELECT `image` FROM `images` WHERE (`image_id` = \''.mysql_escape_string(@$_GET['id']).'\')';
这个工作正常
foreach($database->images->gallery_id($gal_id) as $v)
{
$img = "<img src=\"/test/include/phpThumb_1.7.9/phpThumb.php?w=150&id={$v->image_id}\" />";
echo "<li>{$img}</li>";
}
这与'禁止参数:类型'
失败echo "<img src=\"/test/include/phpThumb_1.7.9/phpThumb.php?w=150&type=icon&id={$database->category($v->cat_id)->cat_id}\" />";
我正在搜索代码,但没有看到设置哪些参数是“允许”的任何地方。
所以我的问题是: 这是从多个表中获取图像的好方法吗?如果是,我如何允许'type'参数? 我想我可以将所有图像放在一张桌子上,但对我来说这似乎不是一个好主意......
PS 我在phpthumb支持论坛上发布了这个,但没有得到任何回复,所以我在这里尝试。没有太多时间来研究它,希望我本周末可以腾出更多时间。
如果有人在想,我正在使用crdb作为$ database对象。
答案 0 :(得分:0)
妈的,我现在觉得很蠢
在phpThumb.php中有(在第232行)$ allowedGETparameters变量
$allowedGETparameters = array('type', 'src', 'new', 'w', 'h', 'wp', 'hp', 'wl', 'hl', 'ws', 'hs', 'f', 'q', 'sx', 'sy', 'sw', 'sh', 'zc', 'bc', 'bg', 'bgt', 'fltr', 'xto', 'ra', 'ar', 'aoe', 'far', 'iar', 'maxb', 'down', 'phpThumbDebug', 'hash', 'md5s', 'sfn', 'dpi', 'sia', 'nocache');
不敢相信我错过了,我必须检查除了那个之外的所有文件