একটিতে চিত্র আপলোড সীমাবদ্ধ করুন এবং আপলোড করতে অডিও, ভিডিও এবং অন্যান্য নথি ফাইলের প্রকার অক্ষম করুন


20

নতুন পোস্ট যুক্ত করার জন্য কারও কারও কারও কৌশল জানা আছে:

  1. অডিও, ভিডিও এবং অন্যান্য ফাইল টাইপের আপলোড অক্ষম করুন।

  2. কেবল কোনও চিত্রের আপলোড গ্রহণ করুন (jpg, png, gif)।

  3. প্রতিটি পোস্টের আপলোড কেবলমাত্র একটি ছবিতে সীমাবদ্ধ করুন (একের বেশি নয়)।

আগাম ধন্যবাদ.


1
আপনি কেবল একটি ফাইলের অনুমতি দেওয়ার জন্য ফ্ল্যাশ আপলোডারকেও সংশোধন করতে পারেন । এটি মাইকের দেওয়া সমাধানের সাথে একসাথে কাজ করে।
জান ফ্যাব্রি

উত্তর:


25

আমি এটা ভেবে ছাড়তে চলেছিলাম যে এটি সম্ভব নয় বা কমপক্ষে সহজ নয় এবং তারপরে আমি wp_handle_upload_prefilterফিল্টারটিতে হোঁচট খেয়েছি যা আপনাকে যা চেয়েছিল ঠিক তাই দেয়! কোডটি এখানে:

add_filter('wp_handle_upload_prefilter', 'yoursite_wp_handle_upload_prefilter');
function yoursite_wp_handle_upload_prefilter($file) {
  // This bit is for the flash uploader
  if ($file['type']=='application/octet-stream' && isset($file['tmp_name'])) {
    $file_size = getimagesize($file['tmp_name']);
    if (isset($file_size['error']) && $file_size['error']!=0) {
      $file['error'] = "Unexpected Error: {$file_size['error']}";
      return $file;
    } else {
      $file['type'] = $file_size['mime'];
    }
  }
  list($category,$type) = explode('/',$file['type']);
  if ('image'!=$category || !in_array($type,array('jpg','jpeg','gif','png'))) {
    $file['error'] = "Sorry, you can only upload a .GIF, a .JPG, or a .PNG image file.";
  } else if ($post_id = (isset($_REQUEST['post_id']) ? $_REQUEST['post_id'] : false)) {
    if (count(get_posts("post_type=attachment&post_parent={$post_id}"))>0)
      $file['error'] = "Sorry, you cannot upload more than one (1) image.";
  }
  return $file;
}

এবং এখানে কিছু স্ক্রিনশট প্রদর্শন করা হচ্ছে যা এটি কার্যকরভাবে দেখায়:

চিত্র ফাইলগুলি ছাড়াও যেকোনও একাধিক আপলোড অক্ষম করতে কোড সহ ওয়ার্ডপ্রেস আপলোড ডায়ালগের স্ক্রিনশট

ওয়ার্ডপ্রেস আপলোডের ডায়ালগের স্ক্রিনশট প্রতি পোস্টে একাধিক চিত্র আপলোডগুলি অক্ষম করতে কোড সহ Upload


ধন্যবাদ মাইক নন ফ্ল্যাশ আপলোড প্রক্রিয়াটিতে কাজ করছে বলে মনে হচ্ছে তবে ফ্ল্যাশ সংস্করণ ব্যবহার করে শো: ... দুঃখিত, আপনি কেবল একটি .GIF, একটি .JPG, বা একটি .PNG চিত্র ফাইল আপলোড করতে পারেন।
জোসে পাবলো ওরোজকো মেরান

@ জোসে পাবলো ওরোজকো মেরিন - আমার ত্রুটিটি খুঁজে পাওয়ার জন্য আপনাকে ধন্যবাদ। আমি মনে করি যে আমি সমস্যাটি পেয়েছি এবং কোডটির একটি নতুন সংস্করণ পোস্ট করেছি যা আমি বিশ্বাস করি যে এটি এখন ফ্ল্যাশ আপলোডারের জন্য কাজ করে। আমাকে জানতে দাও!
মাইকচিন্কেল

@ জোসে পাবলো ওরোজকো মেরিন - দুর্দান্ত। আমি সাহায্য করতে পেরে আনন্দিত.
মাইকচিন্কেল

আমি এই লাইনটি কোথায় যুক্ত করব - এবং এটি টিউ ডাব্লুপিপি 3.01 এবং পরবর্তীটি কি সামঞ্জস্যপূর্ণ?

1
আরে মাইক এই উত্তরটি বেশ পুরানো। ওয়ার্ডপ্রেসের নতুন সংস্করণ বিবেচনা করে আরও ভাল পদ্ধতির কি হতে পারে?
সিসির
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.