使用PHP访问远程文件

Original 2019-05-27 11:22:06 393
abstract:访问远程文件   使用PHP不仅可以让用户通过浏览器访问服务器端的文件,还可以通过HTTP或FTP等协议访问其他服务器中的文件,可以在大多数需要用文件名作为参数的函数中使用HTTP和FTP URL来代替文件名。使用fopen()函数将制定的文件名与资源绑定到一个流上,如果文件名是"scheme://..."的格式,则被当成一个URL,PHP将搜索协议器(也被称为封装协
访问远程文件
  使用PHP不仅可以让用户通过浏览器访问服务器端的文件,还可以通过HTTP或FTP等协议访问其他服务器中的文件,可以在大多数需要用文件名作为参数的函数中使用HTTP和FTP URL来代替文件名。使用fopen()函数将制定的文件名与资源绑定到一个流上,如果文件名是"scheme://..."的格式,则被当成一个URL,PHP将搜索协议器(也被称为封装协议)来处理此模式。
  如果需要访问远程文件,必须在PHP的配置文件中激活“allow_url_fopen”选项,才能使用fopen()函数打开远程文件。而且还要确定其他服务器中的文件是否有访问权限,如果使用HTTP协议对远程文件进行连接,只能以“只读”模式打开。如果需要访问的远程FTP服务器中,对所提供的用户开启了“可写”权限,则使用FTP协议连接远程的文件时,就可以使用“只写”或“只读”模式打开文件。但不可以使用“可读可写”的模式。
  使用PHP访问远程文件就像访问本地文件一样,都是使用相同的读写函数处理。代码示例如下:
  $file = fopen("http://www.baidu.com/","r") or die("打开远程文件失败!");
  while(!feof($file))
  {
    $line = fgets($file,1024);      //每读取一行
    if(preg_match("/<title>(.*)</title>/",$line,$out))       //如果找到远程文件中的标题标记则取出标题,并退出循环,不在读取文件
    {
      $title = $out[1];
      break;
    }
  }
  fclose($file);      //关闭文件资源
  echo $title;      //输出获取到的远程网页的标题


Correcting teacher:天蓬老师Correction time:2019-05-27 13:15:24
Teacher's summary:访问远程文件, 不妨试试这个cURL

Release Notes

Popular Entries