Загрузка видео в WordPress с помощью AJAX - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь загрузить видео в WordPress с помощью ajax, но переменная $ _FILE не получает выбранный файл.Я попытался найти его, но все еще не нашел решения. Пожалуйста, дайте мне простое решение.

Вот HTML-код:

    <form class="f1" method="post" enctype="multipart/form-data">
        <label for="file"><span>Filename:</span></label>
        <input id="file" type="file" name="file"/>
        <br />
        <input type="submit" name="submit" value="Submit" class="btn-sub" />
    </form>

Я использовал JS в нижнем колонтитуле, потому что мне нужно, чтобы он работал сВот.

jQuery(document).ready(function ($) {
   $(".f1").on("submit",function (event) {
     event.preventDefault();
     var id= $("#file").val();
     $.ajax({
        method:'POST',
        url:'<?php echo admin_url('admin-ajax.php');?>',
        data:{action:'my_form',id:id},
        success:function (result) {
        alert(result);
        }
     });
   }); 

Код функции.php:

  function my_ajax_form(){

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

$allowedExts = array("jpg", "jpeg", "gif", "png", "mp3", "mp4", "wma");
$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);

if (($_FILES["file"]["type"] == "video/mp4")&& in_array($extension,$allowedExts))
{
    if ($_FILES["file"]["error"] > 0)
    {
        echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
    else
    {
        echo "Upload: " . $_FILES["file"]["name"] . "<br />";
        echo "Type: " . $_FILES["file"]["type"] . "<br />";
        echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
        echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

        if (file_exists("wp-content/upload/" . $_FILES["file"]["name"]))
        {
            echo $_FILES["file"]["name"] . " already exists. ";
        }
        else
        {
            //wordpress way of uploading
            media_handle_upload( $_FILES["file"]["name"], 0 );
            //normal php upload
            move_uploaded_file($_FILES["file"]["tmp_name"],
                "wp-content/uploads/" . $_FILES["file"]["name"]);
            echo "fname".$_FILES["file"]["name"];
            echo "ftname".$_FILES["file"]["temp"];
        }
    }

}else
   {
    echo "Invalid file";
   }
  die();
}
add_action('wp_ajax_my_form', 'my_ajax_form');
add_action('wp_ajax_nopriv_my_form','my_ajax_form'); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...