2016-06-08 107 views
0

我试图以编程方式在wordpress页面上从前端上传视频。以编程方式从前端上传视频Wordpress

这是我的代码:

<?php 
    if (isset($_POST['uploadvideo'])) { 

    if (! function_exists('wp_handle_upload')) { 

     require_once(ABSPATH . 'wp-admin/includes/image.php'); 
     require_once(ABSPATH . 'wp-admin/includes/file.php'); 
     require_once(ABSPATH . 'wp-admin/includes/media.php'); 
    } 

     $uploadedfile = $_FILES['photoContent']; 
     $upload_overrides = array('test_form' => false); 
     $movefile = wp_handle_upload($uploadedfile, $upload_overrides); 


     if ($movefile) 
     { 
     $image_url = $movefile["url"]; 
     $upload_dir = wp_upload_dir(); 
     $image_data = file_get_contents($image_url); 
     $filename = basename($image_url); 
     if(wp_mkdir_p($upload_dir['path'])) 
     $file = $upload_dir['path'] . '/' . $filename; 
     else 
     $file = $upload_dir['basedir'] . '/' . $filename; 
     file_put_contents($file, $image_data); 

     $wp_filetype = wp_check_filetype($filename, null); 
     $attachment = array(
     'post_mime_type' => $wp_filetype['type'], 
     'post_title' => sanitize_file_name($filename), 
     'post_content' => '', 
     'post_status' => 'inherit' 
    ); 

     $listing_post_id = 780 ; // post id 
     $attach_id = wp_insert_attachment($attachment, $file, $listing_post_id); 

     $attach_data = wp_generate_attachment_metadata($attach_id, $file); 
     wp_update_attachment_metadata($attach_id, $attach_data); 

     /*end file uploader*/ 

     } 
    } 

    ?> 
<form method ="post" action="" name="uploadvideo" enctype="multipart/form-data"> 
    <label for="ug_photo">Your Video Files 
    <input type="file" value="" name="photoContent" id="ug_photo" class="" multiple="multiple"></label> 
    <label for="ug_submit_button"> 
    <input type="submit" value="uploadvideo" name="uploadvideo" id="ug_submit_button" class="btn"></label> 
</form> 

但它无法正常工作。我已经硬编码了一个帖子ID 780,我会稍后改变。

请帮忙。提前致谢。

+1

你是什么意思的腐败?你能解释一下你看到的错误吗? – krishna89

+0

@ krishna89我没有收到任何错误,它没有上传。编辑了这个问题。 –

+0

打开错误报告或查看Web服务器的错误日志。如果没有实际的错误信息,则几乎无法猜测问题的可能性。 –

回答

-1

请在代码中尝试将行$uploadedfile = $_FILES['photoContent'];更改为$uploadedfile = $_FILES['ug_photo'];

+0

文件字段的名称是'photoContent',这个id是不相关的,它不会被传输到服务器。 –