WordPress 上传文件无需单独的 upload.php

问题描述 投票:0回答:1

我正在尝试使用自定义插件中的 wp 函数

wp_upload_dir()
上传文件,我需要在 WordPress 默认上传文件夹中上传文件,而无需单独的 upload.php 文件。我不确定是否可以在没有单独的 PHP 文件的情况下执行 Ajax。

查看我的总文件

upload.php

$upload_dir = wp_upload_dir();
print_r($upload_dir);
$user_dir_name = $upload_dir['basedir'].'/mg_gallery';

if( ! file_exists( $user_dir_name ) ) {
  if ( wp_mkdir_p( $user_dir_name ) ) {

    $is_successful = true;
  } else {

    $error_msg = "Sorry Couldn't create directory. ";
    $is_successful = false;
  }

}

我正在使用 Ajax 提交表单来上传文件

async function saveFile() {
  let formData = new FormData();
  formData.append("file", fileupload.files[0]);
  await fetch('<?php echo plugin_dir_url( __FILE__ ); ?>/upload.php', {method: "POST", body: formData});
  alert("done");
}

除此之外,当我选择手动设置的文件夹路径时,一切正常。非常感谢任何帮助。

php ajax wordpress file upload
1个回答
0
投票

您应该知道的第一件事是 WordPress 功能不会自动包含在自定义 php 文件中。
您必须包含或需要 WordPress 功能。

require_once("../../../../wp-load.php");

require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php';
© www.soinside.com 2019 - 2024. All rights reserved.