使用远程文件

只要允许url_fopen在中启用php.ini公司,您可以使用超文本传输协议文件传输协议包含大多数函数的URL以文件名作为参数的。此外,URL可以是与一起使用包括,包含一次(_O),要求要求一次(_O)报表(允许url_include必须为这些启用)。请参见支持的协议和包装有关协议的更多信息PHP支持。

例如,您可以使用它打开远程web服务器上的文件,解析所需数据的输出,然后在数据库查询,或只是以与其他查询匹配的样式输出它你的网站。

示例#1获取远程页面的标题

<?php(电话)
$文件
=fopen公司("http://www.example.com网站/",“r”);
如果(!
$文件) {
回声
“<p>无法打开远程文件。\n”;
出口;
}
同时(!
费夫($文件)) {
$行=fgets公司($文件,1024);
/*只有当标题及其标记位于一行时,此操作才有效*/
如果(预匹配(_M)(“@\<title\>(.*)\</title\>@i”,$行,$out(美元))) {
$标题=$out(美元)[1];
断裂;
}
}
功能关闭($文件);
?>

您还可以写入FTP服务器上的文件(前提是以具有正确访问权限的用户身份连接)。只能使用此方法创建新文件;如果你试图覆盖已经存在的文件fopen()呼叫将失败。

要以非“匿名”用户身份连接,您需要指定URL中的用户名(可能还有密码),例如'ftp://用户:密码@ftp.example.com/path/to/file文件'.(您可以使用相同的语法通过超文本传输协议需要基本身份验证时。)

示例#2在远程服务器上存储数据

<?php(电话)
$文件
=fopen公司("ftp://ftp.example.com/incoming/outputfile(ftp://ftp.example.com/incoming/outputfile)",“w”);
如果(!
$文件) {
回声
“<p>无法打开远程文件进行写入。\n”;
出口;
}
/*在此处写入数据*/
写入文件($文件,$服务器(_S)[“HTTP_USER_AGENT”] .“\n”);
功能关闭($文件);
?>

注释:

您可能从上面的示例中得到了可以使用的想法这种写入远程日志文件的技术。不幸的是这不起作用,因为fopen()(打开)呼叫将如果远程文件已经存在,则失败。执行分布式日志记录像那样,你应该看看syslog().

添加注释

用户贡献的笔记

此页面没有用户贡献的注释。
到顶部