【问题标题】:Using Wordpress plugins_url function gives 403 forbidden error使用 Wordpress plugins_url 函数给出 403 禁止错误
【发布时间】:2012-06-26 12:22:15
【问题描述】:

我正在编写一个插件并尝试获取文本文件的内容。这是有效的:

$ipn_log = WP_PLUGIN_DIR."/plugin-folder/filename.txt"; 
$log_contents = file_get_contents($ipn_log);

然而,Wordpress Codex 表示插件不应使用 WP_PLUGIN_DIR,而应使用 plugins_url 函数:http://codex.wordpress.org/Determining_Plugin_and_Content_Directories

所以,我尝试这样做:

$ipn_log = plugins_url( 'filename.txt', __FILE__ );
$log_contents = file_get_contents($ipn_log);

当我使用plugins_url 时,我收到 403 禁止错误。知道为什么吗?我不应该使用WP_PLUGIN_DIR 来执行此操作吗?

谢谢

【问题讨论】:

    标签: php wordpress file-get-contents


    【解决方案1】:

    您的服务器可能不是allow_url_fopen,或者您的 URL 可能没有正确编码。 http://php.net/manual/en/function.file-get-contents.php

    【讨论】:

    • allow_url_fopen 已启用,因为我可以通过其他方式获取文件内容(请参阅我的问题)。如果我使用 WP_PLUGIN_DIR 或 plugins_url 回显 URL,则完全相同。
    • 通过使用WP_PLUGIN_DIR,您将通过路径获取文件,而不是像使用plugins_url() 时那样通过url。我仍然认为权限问题来自使用 URL。
    • 尝试使用plugin_dir_path 而不是plugins_url
    猜你喜欢
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    • 2021-01-31
    • 2016-03-26
    • 2021-09-04
    • 2020-07-23
    • 1970-01-01
    相关资源
    最近更新 更多