انجمن


تغییر مسیر آپلود ...  (۱۰ نوشته)

  • mehran_sh

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

    سلام,
    خسته نباشید . دوستان کسی میدونه چه طوری کد زیرو چطوری تغییر بدم که فایل های آپلودی نرن تو مسیر پیشفرض ، برن تو فولدر دلخواه من :

    function handle_file($upload_data)
        {
    
            $return = false;
            $uploaded_file = wp_handle_upload($upload_data, array('test_form' => false));
    
            if (isset($uploaded_file['file'])) {
                $file_loc = $uploaded_file['file'];
                $file_name = basename($upload_data['name']);
                $file_type = wp_check_filetype($file_name);
    
                $attachment = array(
                    'post_mime_type' => $file_type['type'],
                    'post_title' => preg_replace('/\.[^.]+$/', '', basename($file_name)),
                    'post_content' => '',
                    'post_status' => 'inherit'
                );
    
                $attach_id = wp_insert_attachment($attachment, $file_loc);
                $attach_data = wp_generate_attachment_metadata($attach_id, $file_loc);
                wp_update_attachment_metadata($attach_id, $attach_data);
    
                $return = array('data' => $attach_data, 'id' => $attach_id);
    
                return $return;
            }
    
            return $return;
        }
    
        function getHTML($attachment)
        {
    
            $attach_id = $attachment['id'];
            $file = explode('/', $attachment['data']['file']);
            $file = array_slice($file, 0, count($file) - 1);
            $path = implode('/', $file);
            $image = $attachment['data']['sizes']['thumbnail']['file'];
            $post = get_post($attach_id);
            $dir = wp_upload_dir();
            $path = $dir['baseurl'] . '/' . $path;
    
            $html = '';
            $html .= '<li class="aaiu-uploaded-files">';
            $html .= sprintf('<img src="%s" name="' . $post->post_title . '" />', $path . '/' . $image);
            $html .= sprintf('<br /><a href="#" class="action-delete" data-upload_id="%d">%s</a></span>', $attach_id, __('Delete'));
            $html .= sprintf('<input type="hidden" name="aaiu_image_id[]" value="%d" />', $attach_id);
            $html .= '</li>';
    
            return $html;
        }

    ممنون میشم کسی کمکم کنه ...

  • mehran_sh

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

    یعنی این خطو فقط چه طوری ویرایش کنم ؟

    $dir = wp_upload_dir();

    که برن تو فولدر دلخواه ...

  • طراحی سایت

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

    mehran_sh گفت:
    یعنی این خطو فقط چه طوری ویرایش کنم ؟

    $dir = wp_upload_dir();

    که برن تو فولدر دلخواه ...

    از اینجا بلد نیستم چیکار باید کرد! ولی میتونی از wp-config.php آدرس بدی بهش
    میخوای توی چه آدرسی بریزی؟
    این کد رو با wp-config اضافه کن:

    define( 'UPLOADS', 'http://www.example.com/files'.'files' );
    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    mehran_sh
  • mehran_sh

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

    دستت درد نکنه اینی که گفتی هم خیلی به درد میخوره ...
    ولی این کد یه افزونه هست ، واسه خود وردپرس رو نمیخام تغییر بده فقط میخام واسه این افزونه رو تغییر بدم
    ولی بازم مرسی !

  • طراحی سایت

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

    mehran_sh گفت:
    دستت درد نکنه اینی که گفتی هم خیلی به درد میخوره ...
    ولی این کد یه افزونه هست ، واسه خود وردپرس رو نمیخام تغییر بده فقط میخام واسه این افزونه رو تغییر بدم
    ولی بازم مرسی !

    آهان راست میگی دلیلی نداره اینکارو بکنی.
    اصلا مطمئن نیستم ولی اگه اینجوری بنویسی کار نمیکنه؟

    $dir=wp_upload_dir( null, 'folder');

    بجای folder اسمی که میخوای بنویس، میشه یه سابفولدر به همون اسم زیر فولدر آپلود

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    mehran_sh
  • mehran_sh

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

    مرسی ، ولی اون کارم کردم نشد !!! (دوباره میره تو همون فولدر اصلی آپلود)

    از خود سازنده پلاگین پرسیدم ، اینو گفت :
    add_filter(‘upload_dir’, ‘your uplod folder’);

    چیزی سر در میارین ؟ چه شکلی این فیلترو اضافه کنم ؟

    زحمت دادیم دیگه ...

  • طراحی سایت

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

    mehran_sh گفت:
    مرسی ، ولی اون کارم کردم نشد !!! (دوباره میره تو همون فولدر اصلی آپلود)

    از خود سازنده پلاگین پرسیدم ، اینو گفت :
    add_filter(‘upload_dir’, ‘your uplod folder’);

    چیزی سر در میارین ؟ چه شکلی این فیلترو اضافه کنم ؟

    زحمت دادیم دیگه ...

    add_filter('upload_dir', 'my_upload_dir');
    	$upload = wp_upload_dir();
    	remove_filter('upload_dir', 'my_upload_dir');
    
    	funcion my_upload_dir($upload) {
    	  $upload['subdir'] = '/sub-dir-to-use' . $upload['subdir'];
    	  $upload['path']   = $upload['basedir'] . $upload['subdir'];
    	  $upload['url']    = $upload['baseurl'] . $upload['subdir'];
    	  return $upload;
    	}

    ببسن از این جواب میگیری؟!
    بجای همون یه خط بزار اینو

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    mehran_sh
  • mehran_sh

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

    داداش شما مارو امروز شرمنده کردی ، وقتتو گرفتیم دیگه ...

    ولی اینم نشد ، هر جور گذاشتم ارور زیر رو داد :

    This plugin has been deactivated because your changes resulted in a fatal error.

  • طراحی سایت

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

    mehran_sh گفت:
    داداش شما مارو امروز شرمنده کردی ، وقتتو گرفتیم دیگه ...

    ولی اینم نشد ، هر جور گذاشتم ارور زیر رو داد :

    This plugin has been deactivated because your changes resulted in a fatal error.

    چالشی شده :)
    من از اینجا برداشتم این یارو هم که کلا کارش درسته فقط میمونه که دقیقا ایراد کارمون کجاست!
    http://yoast.com/smarter-upload-handling-wp-plugins/
    شاید اون قسمت فانکشن رو باید توی function.php بزاریم

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    mehran_sh
  • mehran_sh

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

    دستت درد نکنه ! واسه تو هم زحمت شد ...

    ولی من از خیرش گذشتم !

    خیلی ممنون ...

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



برچسب‌ها

هیچ برچسبی نیست.