繁体   English   中英

从FTP服务器获取文件内容-WordPress

[英]Get file contents from FTP server - WordPress

我正在尝试以WordPress短代码从FTP服务器获取文件。

在开始创建WP短代码之前,我在“空白”非WP环境中编写和测试了我的代码,并且工作正常。

然后,我将代码移到WP短代码中。 现在我遇到了问题。

首先,我了解到您无法在WordPress中使用file_get_contents()。

...所以,我用wp_remote_get()替换了该函数。 但是,此函数不接受以“ ftp://”开头的URL。

这是我的代码,关于需要更改使其在WordPress中工作的任何想法?

$stuff = array();    

$conn_id = ftp_connect($ftp_server) or die("Error: Cannot connect to FTP Server.");

// try to login
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
    echo "";
} else {
    echo "Error: Cannot connect to FTP Server.";
}

if (($response_xml_data = file_get_contents('ftp://username:password@ftp.example.co.uk/file.xml'))===false){
    echo "Error: Failed to fetch file.<br/>";
} else {
    libxml_use_internal_errors(true);
    print_r($response_xml_data);
    $data = simplexml_load_string($response_xml_data);
    if (!$data) {
        echo "Error loading XML\n";
        foreach(libxml_get_errors() as $error) {
            echo "\t", $error->message;
        }
    } else {
        $stuff = $data;
    }
}

// close the connection
ftp_close($conn_id);

当我用wp_remote_get()替换file_get_contents()时,$ response_xml_data等于:

WP_Error Object ( [errors] => Array ( [http_request_failed] => Array ( [0] => A valid URL was not provided. ) ) [error_data] => Array ( ) )

从头开始...问题不在代码中,这是服务器问题。 php.ini中的“ allow_url_fopen”设置必须设置为“ 1”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM