Beispiel #1
0
 $SQL = "select  media_instance.instance,\n\t\t\t\t\t\t\tmedia_instance.file_type,\n                            media_item.id as media_item_id,\n\t\t\t\t\t\t\tmedia_item.slug, \n\t\t\t\t\t\t\tmedia_vfolder.vfolder_path\n\t\t\t\t\tfrom media_instance\n\t\t\t\t\tleft join media_item on media_item.id = media_instance.media_item_id and media_item.active = 1\n\t\t\t\t\tleft join media_vfolder on media_item.media_vfolder_id = media_vfolder.id and media_vfolder.active = 1\n\t\t\t\t\twhere media_instance.active = 1\n\t\t\t\t\tand media_instance.id = {$media_instance_id}";
 //			die($SQL);
 $r = $db->Execute($SQL) or die("{$SQL}<br>" . $db->ErrorMsg());
 if (!$r->EOF) {
     $slug = $r->Fields('slug');
     $instance = $r->Fields('instance');
     if ($instance) {
         $instance_folder = '/' . $instance;
     }
     $file_type = $r->Fields('file_type');
     $vfolder_path = $r->Fields('vfolder_path');
     $dest_dir = $sky_media_local_path . $vfolder_path . $instance_folder;
     $local_path = $dest_dir . '/' . $slug . '.' . $file_type;
     if (!file_exists($local_path)) {
         include_once 'lib/core/class.media.php';
         media::get_if_not_here($r->Fields('media_item_id'), $sky_media_src_path, $file_type, $local_path, $dest_dir);
     }
     if (file_exists($local_path)) {
         $content = $sky_content_type[$file_type];
         header("Content-type: {$content}");
         $ft = filemtime($local_path);
         $modified = strftime("%a, %d %b %Y %T GMT", $ft);
         header('Last-Modified: ' . $modified);
         $t = strtotime("+35 days");
         $expires = strftime("%a, %d %b %Y %T GMT", $t);
         header('Expires: ' . $expires);
         header('Content-Length: ' . filesize($local_path));
         readfile($local_path);
         exit(0);
     }
 }