View Single Post
  #71  
Old 02-07-2003, 07:22 PM
Mutt's Avatar
Mutt Mutt is offline
 
Join Date: Nov 2001
Posts: 331
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Earlier, I posted directions for getting it to work with attachments as files. I've updated the function so it's a little nicer and handles errors better. Now if you have the dir path set wrong, safe mode is on, or you don't have permission for some reason, you'll get "NA" instead of a nasty looking error. Plus It now tells you how many files there are instead of just total file size. I use this to read server dirs, custom avs as files, attachments as files, profile pics, and sig pics. If you already installed this before, just replace the old dizsize function with this one

UPDATED : modified it to work with attachments af files

replace this
PHP Code:
$attach $DB_site->query_first("SELECT SUM(LENGTH(filedata)) AS size FROM attachment"); 
with this
PHP Code:
function dirsize($path) {
  
$totalsize 0;
  
$totalcount 0;
  if (
$handle = @opendir($path)) {
    while (
false !== ($file readdir($handle))) {
      
$nextpath $path '/' $file;
      if (
$file != '.' && $file != '..' && !is_link ($nextpath)) {
        if (
is_dir ($nextpath)) {
          
$result dirsize($nextpath);
          
$totalsize += $result[size];
          
$totalcount += $result[count];
        } elseif (
is_file ($nextpath)) {
          
$totalsize += filesize ($nextpath);
          
$totalcount++;
        }
      }
    }
    
closedir ($handle);
    
$totalsize sprintf('%.2f',$totalsize/1048576);
    
$mgs_size $totalcount.' files : '.$totalsize.' MB';
  } else {
    
$mgs_size "<em><font color=#FF0000>NA</font></em>";
  }
  return 
$mgs_size;

then replace this
PHP Code:
makelabelcode('Attachment Usage:'kbtomb($attach['size'])); 
with this
PHP Code:
makelabelcode('Attachment Usage:'dirsize($attachpath)); 
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01216 seconds
  • Memory Usage 1,791KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (4)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete