Sarathlal N

Dynamically create file in WordPress upload directory & make it as post attachment

Today, I need to create a text file in WordPress upload directory with dynamic content. Also need to set it as an attachment to a WordPress post.

Here is the quick function for this pourpose.

function create_attachement($data, $post_id){
    
    $file_name = 'your_file_name.txt';
    $upload = wp_upload_bits($file_name, null, $data);
    if(!$upload['error']){
	    $wp_filetype = wp_check_filetype($file_name, null );
	    $attachment = array(
		    'post_mime_type' => $wp_filetype['type'],
		    'post_title' => preg_replace('/\.[^.]+$/', '', $file_name),
		    'post_content' => '',
		    'post_status' => 'private'
	    );
	    $attachment_id = wp_insert_attachment($attachment, $upload['file'], $post_id);
	    if($attachment_id){
		    //return $upload['url'];
		    return $attachment_id;
	    }

	    return false;
    }
    return false;
    
}

Looking for a skilled WordPress/WooCommerce developer? I'm currently available for freelance, contract, or full-time remote opportunities! Let's create something amazing together. Send me a quick message, and I'll respond within 24 hours!

Recent Posts

  1. REST API Methods Explained with Best Practices for Building Clean and Secure APIs
  2. My 28-Day Plan to Master Modern WordPress Development Using AI Tools
  3. Scaling WordPress - How Custom Database Tables Solve the Post Meta Bottleneck
  4. WordPress Transients Explained - A Developer's Guide to Site Performance
  5. Behind the Click - The Hidden Journey of Your Web Requests

Your Questions / Comments

If you found this article interesting, found errors, or just want to discuss about it, please get in touch.