انجمن


محدود کردن حجم رسانه  (۳ نوشته)

  • arabasadi

    آفلاین
    عضو
    تعداد نوشته‌ها: ۷
    تشکر شده: ۴ بار
    # نوشته شده: ۹ سال پیش
    ۲۸ آذر ۱۳۹۳ - ۱۷:۰۵

    با سلام
    چجوری میشه حجم آپلود رسانه ها را محدود کرد.
    یعنی مثلا رسانه های با حجم بالا تر از 50 کیلو آپلود نشود؟؟؟

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    آموزش وردپرس
  • آموزش وردپرس

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۸۳۹
    تشکر شده: ۱۷۶۷ بار
    # نوشته شده: ۹ سال پیش
    ۲۸ آذر ۱۳۹۳ - ۱۸:۴۱

    arabasadi گفت:
    با سلام
    چجوری میشه حجم آپلود رسانه ها را محدود کرد.
    یعنی مثلا رسانه های با حجم بالا تر از 50 کیلو آپلود نشود؟؟؟

    به نام خدا
    عرض سلامو خسته نباشید از کد زیر استفاده کنید مشکل حل شده نتیجه رو اعلام کنید در واقع کد رو بزارید داخل فایل functions.php و بر اساس نیازتون مقدار رو دست کاری کنید با تشکر
    ارادتمند : مسلم فلاح نیت

    add_filter('wp_handle_upload_prefilter', 'f711_image_size_prevent');
    function f711_image_size_prevent($file) {
    
        // get filesize of upload
        $size = $file['size'];
        $size = $size / 1024; // Calculate down to KB
    
        // get imagetype of upload
        $type = $file['type'];
        $is_image = strpos($type, 'image');
    
        // set sizelimit
        $limit = 700; // Your Filesize in KB
    
        // set imagelimit
        $imagelimit = 7;
    
        // set allowed imagetype
        $imagetype = 'image/jpeg';
    
        // query how many images the current user already uploaded
        global $current_user;
        $args = array(
            'orderby'         => 'post_date',
            'order'           => 'DESC',
            'numberposts'     => -1,
            'post_type'       => 'attachment',
            'author'          => $current_user->ID,
        );
        $attachmentsbyuser = get_posts( $args );
    
        if ( ( $size > $limit ) && ($is_image !== false) ) { // check if the image is small enough
            $file['error'] = 'Image files must be smaller than '.$limit.'KB';
        } elseif ( $type != $imagetype ) { // check if image type is allowed
            $file['error'] = 'Image must be ' . $imagetype . '.';
        } elseif ( count( $attachmentsbyuser ) >= $imagelimit ) { // check if the user has exceeded the image limit
            $file['error'] = 'Image limit of ' . $imagelimit . ' is exceeded for this user.';
        }
        return $file;
    
    }
  • آموزش وردپرس

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۸۳۹
    تشکر شده: ۱۷۶۷ بار
    # نوشته شده: ۹ سال پیش
    ۲۸ آذر ۱۳۹۳ - ۱۸:۴۲

    و همچنین اگر این جواب نداد از این یکی

    function ter_limit_image_uploads($file){
    	$error_message = 'KB is to large. Please reduce the file size of your image to ' . TER_MAX_IMAGE_SIZE_KB . 'KB or less. Hosting space is limited and uploading large images will slow down your page loads. Use a tool such as http://toki-woki.net/p/Shrink-O-Matic/ to help you to resize your images. Target size: Width 1024px, file size 100KB-200KB';
    	$size_in_kb = $file['size'] / 1024;
    	if(preg_match('/image/',$file['type']))	if($size_in_kb > TER_MAX_IMAGE_SIZE_KB) $file['error'] = round($size_in_kb,2) . $error_message;
    	return $file;
    }
    add_filter('wp_handle_upload_prefilter','ter_limit_image_uploads');		//Limit uploaded image size

درباره‌ی این موضوع



برچسب‌ها