PDA

View Full Version : Thumbnails on the fly


mad@Max
08-04-2009, 08:31 PM
Hi.
I'm trying to create thumbnails on the fly, from this code
$mdm_hts = $vbulletin->db->query_read("
SELECT post.pagetext, thread.threadid, thread.title, thread.forumid
FROM " . TABLE_PREFIX . "thread AS thread
LEFT JOIN " . TABLE_PREFIX . "post AS post ON (thread.firstpostid = post.postid)
WHERE thread.hotthread = '1'
$mdmhtf
ORDER BY rand()
LIMIT $mdm_lim
");
while ($mdm_ht = $vbulletin->db->fetch_array($mdm_hts))
{
$mdmimgs = preg_split('#\[' . $mdmtag . '\]|\[\/' . $mdmtag . '\]#si', $mdm_ht[pagetext], -1,
PREG_SPLIT_DELIM_CAPTURE);
$mdmimg = $mdmimgs[1];
$thumbimg = $mdmimg;
require_once(DIR . '/includes/class_upload.php');
require_once(DIR . '/includes/class_image.php');

$upload = new vB_Upload_Image($vbulletin);
$upload->image =& vB_Image::fetch_library($vbulletin);
$upload->path = "./hotimg";
$uploaded_imagefile_path = $upload->process_upload($mdmimg);

eval('$mdm_ht_bit .= "' . fetch_template('mdm_ht_bit') . '";');
$htcount++;
}
Images for upload gets from url in the post, then uploaded.
But images are not created. What am I doing wrong?
----------
I found this code for creating thumbnails https://vborg.vbsupport.ru/showpost.php?p=927813&postcount=2, but i don't know how it apply for this.

--------------- Added 1249500377 at 1249500377 ---------------

I made test scriptif ($_REQUEST['do'] == 'mdmimg')
{
require_once (DIR . '/includes/class_upload.php');
require_once (DIR . '/includes/class_image.php');

$imgpath = DIR . '/hotimg/';
$mdmimg = 'http://img3.immage.de/24073885f.jpg';
$imgname = preg_replace('/(.*)\/([^\/]*)/', '\\2', $mdmimg);
$mdmimgpath = $imgpath . $imgname;
if (!file_exists($mdmimgpath))
{
$upload = new vB_Upload_Image($vbulletin);
$upload->image =& vB_Image::fetch_library($vbulletin);
$upload->path = $imgpath;
if (!($upload->process_upload($mdmimg)))
{
eval(standard_error(fetch_error('there_were_errors _encountered_with_your_upload_x',
$upload->fetch_error())));
} else
{
print_output($imgname);
}

$image = &vB_Image::fetch_library($vbulletin);

$thumbnail = $image->fetch_thumbnail($imgname, $mdmimgpath, 200, 200);
@$file = fopen($mdmimgpath, 'w');
@fwrite($file, $thumbnail['filedata']);
@fclose($file);
} else
{
$image = &vB_Image::fetch_library($vbulletin);

$thumbnail = $image->fetch_thumbnail($imgname, $mdmimgpath, 200, 200);
@$file = fopen($mdmimgpath, 'w');
@fwrite($file, $thumbnail['filedata']);
@fclose($file);
print_output('file exist!');
}
}File are uploaded, but not create a thumbnail. Thumb will be created only second request. Hmmm... Why?!