ডাব্লুপি_হ্যান্ডল_আপলোডে কীভাবে আপলোড ডিরেক্টরি পরিবর্তন করবেন


9

আমি কাস্টম প্লাগইনের জন্য wp_handle_upload ফাংশনটি কীভাবে ব্যবহার করতে পারি তা চেষ্টা করার চেষ্টা করছি যাতে আমি নিজের নিজস্ব আপলোড ডিরেক্টরি নির্দিষ্ট করতে পারি। কোডটি এখনও পর্যন্ত আমার প্লাগইন সেটিংস পৃষ্ঠা থেকে একটি ফাইল নেয় এবং বছর এবং মাসের সাথে ফোল্ডার আপলোড ফোল্ডারে আপলোড করে।

আমি এই লিঙ্কটি পেরিয়ে এসেছি যা ভেবেছিলাম কিছু ক্লু থাকতে পারে - http://yoast.com/smarter-upload-handling-wp-plugins

if(strtolower($_SERVER['REQUEST_METHOD']) == "post"){

     $overrides = array('test_form' => false);
     $file = wp_handle_upload($_FILES['binaryFile'], $overrides);

     echo "<pre>" . print_r($file, true) . "</pre>";
}

আমি কীভাবে আমার পছন্দসই ডিরেক্টরিতে আপলোড করতে পারি?

যে কোনও সাহায্যের জন্য অনেক প্রশংসা করা হয়।

উত্তর:


5

ইজি ডিজিটাল ডাউনলোডগুলিতে আমরা এটি কীভাবে করি তার একটি সম্পূর্ণ উদাহরণ এখানে:

/**
 * Set Upload Directory
 *
 * Sets the upload dir to edd. This function is called from
 * edd_change_downloads_upload_dir()
 *
 * @since 1.0
 * @return array Upload directory information
*/
function edd_set_upload_dir( $upload ) {
    $upload['subdir'] = '/edd' . $upload['subdir'];
    $upload['path'] = $upload['basedir'] . $upload['subdir'];
    $upload['url']  = $upload['baseurl'] . $upload['subdir'];
    return $upload;
}


/**
 * Change Downloads Upload Directory
 *
 * Hooks the edd_set_upload_dir filter when appropriate. This function works by
 * hooking on the WordPress Media Uploader and moving the uploading files that
 * are used for EDD to an edd directory under wp-content/uploads/ therefore,
 * the new directory is wp-content/uploads/edd/{year}/{month}. This directory
 * provides protection to anything uploaded to it.
 *
 * @since 1.0
 * @global $pagenow
 * @return void
 */
function edd_change_downloads_upload_dir() {
    global $pagenow;

    if ( ! empty( $_REQUEST['post_id'] ) && ( 'async-upload.php' == $pagenow || 'media-upload.php' == $pagenow ) ) {
        if ( 'download' == get_post_type( $_REQUEST['post_id'] ) ) {
            add_filter( 'upload_dir', 'edd_set_upload_dir' );
        }
    }
}
add_action( 'admin_init', 'edd_change_downloads_upload_dir', 999 );

দ্রষ্টব্য, আমাদের ডাউনলোডগুলি কাস্টম পোস্ট ধরণের পৃষ্ঠা থেকে ফাইলগুলি আপলোড করার সময় আমরা কেবলমাত্র আপলোড ডিরেক্টরিটি পরিবর্তন করি। আপনার প্লাগইনের সেটিংস পৃষ্ঠার জন্য আপনাকে এটি সামঞ্জস্য করতে হবে।
পিপ্পিন

এতে "]" এর অভাব রয়েছে$upload['url'
মারিও রডোমানানা

1

অনুশীলনে হুবহু এটি করা আমার মনে নেই, তবে বেশিরভাগ (সব?) আপলোডের পথ পরিচালনা করা সেই ফিরিয়ে দেওয়া তথ্যগুলিতে ফিল্টার wp_upload_dir()প্রয়োগ করে upload_dir। আপনার কোড চলমান সময়কালের জন্য এটি ফিল্টার করার চেষ্টা করা উচিত এবং পাথগুলিকে পছন্দসই স্থানে সমন্বয় করা উচিত।


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