我有两台服务器。我正在连接的文件中已经有一个 .txt 文件。
我需要获取 .txt 文件内容并将它们放入 $
变量中。这是我的代码不起作用:
$ftp_server = $_POST["site"];
$path = $_POST["path"];
$ftp_user_name = $_POST["username"];
$ftp_user_pass = $_POST["pass"];
// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$remote_filename =
"/" . $_POST["path"] . "/" . "#" . $result["id"]
. " - " . $result["LastName"] . ", " . $result["FirstName"]
. "/" . $_POST["title"] . ".txt";
ftp_get($conn_id, $content, $remote_filename, FTP_ASCII);
此代码连接到 FTP,我使用 ftp_get
从一个文本文件复制到一个名为 $content
的变量。我知道一个变量不属于这个参数,但我现在被卖掉了。我不知道如何阅读这个 .txt 文件。
有没有办法用 PHP FTP 函数来做到这一点?
现在,当我尝试这个时:
$fileContents = file_get_contents('ftp://username:password@hostname/path/to/file');
它给出了一个错误:
警告:fopen(ftp://…@goldenbooklet.com/101Notebook Backup: 22-08-2013/#11 - Cappucci, Ryan/queen.txt) [function.fopen]: 无法打开流:FTP 服务器报告550 /101Notebook 备份:22-08-2013/:第 269 行的 /home/content/34/11614434/html/adminpdo.php 中不是常规文件
为什么会出现此错误?
再次感谢
原文由 Ryan Jeffrey Cappucci 发布,翻译遵循 CC BY-SA 4.0 许可协议
file_get_contents
是最简单的解决方案:如果它不起作用,可能是因为您没有 在 PHP 中启用 URL 包装器。
如果您需要更好地控制读数(传输模式、被动模式、偏移量、读数限制等),请使用
ftp_fget
和php://temp
(或php://memory
) 流:(添加错误处理)