我的表单操作URL的前缀是一个不存在的目录

时间:2015-12-30 作者:Keenan Diggs

我试图允许用户通过表单和HTTP POST请求上传音频。

这是我的页面配置文件中的相关表单代码。php:

<form method="post" action="wp-content/themes/freelanceengine-child/audio_upload.php" enctype="multipart/form-data">
                              <input type="file" name="file" id="file" accept="audio/*">
但浏览器从未访问我的php文件。我收到以下错误:请求的资源/配置文件/wp内容/主题/自由引擎子项/音频上传。在此服务器上找不到php

这个概要文件不在我的网站中,所以我不知道为什么要在URL前面加上它。我曾尝试重新启动服务器,并尝试使用不同的URL和浏览器,但/profile始终是预先准备好的。

如果你有见解,请帮助我理解为什么会发生这种情况。如果我知道它为什么坏了,我可能会把它修好。

另一方面,我认为插件是实现这种功能的最佳方式,但老实说,我从来没有使用过wordpress插件,所以我现在只坚持我所知道的。

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

您不应该使用相对URL。I\'ve written a number of answers about this already 相对URL与浏览器看到的页面相对。如果打开了permalinks,结果总是很糟糕。这个问题/错误太常见了,我只要看一下你的标题就猜到了答案。

其次,您不应该提交这样的独立主题文件。使用AJAX API (即使它实际上不是AJAX请求)。非常非常简单:

function my_ajax_wpse_213294() {
  // your upload code

  exit();
}
add_action(\'wp_ajax_my_ajax\', \'my_ajax_wpse_213294\'); // logged in only
add_action(\'wp_ajax_nopriv_my_ajax\', \'my_ajax_wpse_213294\');
提交至/wp-admin/admin-ajax.php 可以使用admin_url(\'/admin-ajax.php\'); 使用?action=my_ajax URL参数。

相关推荐

如何在WordPress unctions.php中将短代码值传递到Head

我正在尝试为wordpress帖子上的图表创建一个快捷代码。到目前为止,我已经使用了短代码,我可以看到短代码值正在被传递,但我需要知道的是如何将这些值传递到Google图表,以便正确工作。以下是我目前掌握的代码:function chart_shortcode($atts) { $a = shortcode_atts( array( \'value1\' => \'\', \'value2\' => \'\', \'value