[Hướng dẫn] Sao chép hình ảnh về hosting khi copy nội dung "đồng nghiệp"

  • Admin
    Các bạn code cho functions:

    Code:
    //========================================
    class Auto_Save_Images{

    function __construct(){

    add_filter( 'content_save_pre',array($this,'post_save_images') );
    }

    function post_save_images( $content ){
    if( ($_POST['save'] || $_POST['publish'] )){
    set_time_limit(240);
    global $post;
    $post_id=$post->ID;
    $preg=preg_match_all('/<img.*?src="(.*?)"/',stripslashes($content),$matches);
    if($preg){
    foreach($matches[1] as $image_url){
    if(empty($image_url)) continue;
    $pos=strpos($image_url,$_SERVER['HTTP_HOST']);
    if($pos===false){
    $res=$this->save_images($image_url,$post_id);
    $replace=$res['url'];
    $content=str_replace($image_url,$replace,$content);
    }
    }
    }
    }
    remove_filter( 'content_save_pre', array( $this, 'post_save_images' ) );
    return $content;
    }

    function save_images($image_url,$post_id){
    $file=file_get_contents($image_url);
    $post = get_post($post_id);
    $posttitle = $post->post_title;
    $postname = sanitize_title($posttitle);
    $im_name = "$postname-$post_id.jpg";
    $res=wp_upload_bits($im_name,'',$file);
    $this->insert_attachment($res['file'],$post_id);
    return $res;
    }

    function insert_attachment($file,$id){
    $dirs=wp_upload_dir();
    $filetype=wp_check_filetype($file);
    $attachment=array(
    'guid'=>$dirs['baseurl'].'/'._wp_relative_upload_path($file),
    'post_mime_type'=>$filetype['type'],
    'post_title'=>preg_replace('/\.[^.]+$/','',basename($file)),
    'post_content'=>'',
    'post_status'=>'inherit'
    );
    $attach_id=wp_insert_attachment($attachment,$file,$id);
    $attach_data=wp_generate_attachment_metadata($attach_id,$file);
    wp_update_attachment_metadata($attach_id,$attach_data);
    return $attach_id;
    }
    }
    new Auto_Save_Images();
    //========================================

    p/s: Code dành cho các bạn nếu thích copy văn bản, đỡ mất thời gian save ảnh. :)


    --Chữ ký--
    www.danganhviet.com


    • - Tránh đặt tiêu đề các dạng như: Giúp em với, Code này hay nè, Vào xem nè anh em,...
      - Đăng bài phải có ảnh demo hoặc viết mô tả rõ ràng, code phải bỏ vào khung code
      - Không comment vô nghĩa, không spam, không chữi tục, không post link độc hại, không hide bài viết
      - Hạn chế viết tắt, viết chữ màu, chữ to, chữ in đậm
Thông tin tác giả
avatar
ACP
Bài viết :
349
Points :
680
Like :
108
Punbb
Quản trị
Status :
test
Xem lý lịch thành viên http://hotrofm.forumvi.com
Bài viết liên quan
    Đang tải dữ liệu

Permissions in this forum:
Bạn không có quyền trả lời bài viết

<