`
phplaber
  • 浏览: 143863 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

远程文件读取

    博客分类:
  • PHP
阅读更多

在PHP中,有两种读取远程文件的方法。一种通过设置php配置文件实现,另一种通过加载PHP扩展cURL来实现。下面分别介绍这两种方法。

 

方法一 :开启allow_url_open

  1. 开启方法是在php配置文件中将“allow_url_open”的值设为On或1,保存文件后重启Apache。
  2. 示例:
    <?php
    // 通过开启allow_url_open来读取远程文件
    
    $str = file_get_contents("http://www.iteye.com");
    if($str != false)
        echo $str;
    
    ?>
     
  3. 需要注意的是,当开启allow_url_open后,存在RFI(Remote File Inclusion)攻击风险。

方法二: 利用cURL模块

  1. 由于cURL扩展是PHP控制模块,默认情况下是没有被加载的。加载方法是在PHP配置文件中找到“;extension=php_curl.dll”,去掉前面的分号,重启Apache。
  2. 示例:
    <?php
    // 通过cURL扩展来读取远程文件
    
    // 初始化cURL会话,返回资源句柄
    $init = curl_init("http://www.iteye.com");
    
    // 设置cURL传输项
    // 将服务器返回的“Location:”放在header中递归的返回给服务器
    curl_setopt($init, CURLOPT_FOLLOWLOCATION, 1);
    
    // 将curl_exec()获取的信息已文件流的方式返回,而不是直接输出,方便对信息下一步的处理
    curl_setopt($init, CURLOPT_RETURNTRANSFER, 1);
    
    // 执行一个cURL会话,成功返回执行结果,失败返回false(与
    // CURLOPT_RETURNTRANSFER的设置有关)
    $str = curl_exec($init);
    if($str != false)
        echo $str;
    
    // 关闭会话,并且释放资源
    curl_close($init);
    
    ?>
     
  3. 使用cURL扩展的好处是,可以不必开启allow_url_open,因而降低了RFI攻击的风险,提高了应用的安全性。
0
0
分享到:
评论

相关推荐

    JAVA实现远程文件读取

    JAVA实现远程文件读取 JAVA是一种广泛应用于软件开发的编程语言,随着网络技术的发展,JAVA也提供了许多支持远程文件读取的功能,本文将详细介绍JAVA实现远程文件读取的知识点。 1. Socket 编程 在JAVA中,Socket...

    读取远程文件并分析

    对于“WebApplication1”,这可能是一个ASP.NET Web应用程序项目,其中可能包含了实现上述远程文件读取和分析功能的代码。项目中的类和方法会根据实际需求来设计,可能包括处理HTTP请求、数据解析、异常处理等逻辑。...

    北邮网络编程作业2(远程文件读写服务)

    在这个“北邮网络编程作业2(远程文件读写服务)”中,我们主要涉及的是基于Linux系统的网络编程,特别是利用TCP协议实现一个简单的远程文件读写服务。这个服务通过telnet客户端与服务器交互,允许用户执行如打开、...

    python读写远程主机文件源代码

    在Python编程中,远程文件读写是一项常见的任务,特别是在分布式系统和云计算环境中。这个主题主要涉及如何使用Python的内置库或第三方库来处理远程主机上的文件。以下是对标题和描述中涉及的知识点的详细说明: 1....

    用JAVA实现缓冲多线程无阻塞读取远程文件.pdf

    尽管给出的内容片段并不完整,但基于这些信息,我们可以理解到开发者在设计这样一个远程文件读取程序时所采取的策略和方法,即利用Java的IO流、多线程、网络通信以及异常处理等技术点来实现高效、稳定、无阻塞的远程...

    一个读取远程文件的php函数类.zip

    2. `fopen()`和`fread()`:通过打开一个远程文件流,然后读取一定字节数,可以分块读取大文件,避免一次性加载导致内存压力过大。例如: ```php $handle = fopen('http://example.com/remote_file.txt', 'r'); $...

    用Java多线程实现无阻塞读取远程文件

    给出的部分代码实现了基于`HttpURLConnection`的远程文件读取功能。下面对这段代码的关键部分进行详细解析: ```java public final class HttpReader { // 定义常量、变量及构造方法 public HttpReader(URL u) { ...

    远程读写文件

    在“远程读写文件Dlg.cpp”和“远程读写文件Dlg.h”中,我们可以推测这是一个C++应用程序的对话框类,用于处理远程文件读写的用户界面部分。它可能包含了打开、保存文件的对话框,以及相关的事件处理函数,如按钮...

    java远程读写服务器文件

    主要实现的是登录服务器操作服务器的中的文件数据,支持读写的操作。主要使用的方法getProperties是设置配置的login(参数一是访问服务器的配置,参数二是设置读还是写)方法是读写连接服务器

    java 读取远程文件目录 及文件方式

    本文件是将 Java 中 通过远程url访问 转换成 HTML 文件 ,通过 dom4j转换成Java对象元素

    java 读取远程共享文件

    java 读取远程共享文件,一个操作简单的读取远程资源的控件。

    JAVA读取远程文件

    通过这种方式,既保证了数据的一致性和完整性,又充分利用了多线程的并发优势,使得文件读取过程更加高效。 ##### 3. **HTTP协议高效交互** `HttpURLConnection`类是Java中用于处理HTTP请求的核心工具之一。在本...

    java远程传输文件

    BufferedInputStream用于读取远程文件,而DataOutputStream用于将文件写入到本地。 4. 文件大小的确定 代码中使用了随机访问文件RandomAccessFile来确定已经下载的文件大小。 5. 文件的重命名 代码中使用了...

    Java读取远程主机文件

    例如,要读取远程文件,可以先调用`openFile()`获取文件句柄,再创建`InputStream`来读取文件内容。 3. **异常处理和安全考虑**:在进行SSH操作时,必须妥善处理可能出现的异常,如连接拒绝、超时、权限问题等。...

    rmi远程调用读取文件

    以下是一个简单的RMI文件读取服务的例子: 1. **服务端(Server)**: - 定义远程接口:创建一个名为`FileService`的接口,其中包含一个`readFile(String filePath)`方法,返回文件内容。 - 实现远程接口:创建一...

    java 远程读取读写文件,附件

    java 读取远程网站上的 数据,如 :图片,附件,视频等

    用JAVA实现缓冲多线程无阻塞读取远程文件.doc

    在上述文档中,作者提出了一个使用环形缓冲区和多线程来优化远程文件读取的方案。以下是对这个方案的详细解释: 首先,环形缓冲区(Ring Buffer)是一种数据结构,它允许数据在有限的存储空间内循环读写。在这个...

    JAVA读取远程网页文件并保存本地

    JAVA读取远程网页文件并保存本地 从远程URL地址获取网页文件下载到本地 这个方法可以生成静态HTML文件使用!

    PHP远程文件下载解压压缩包.zip文件file文件操作类

    1. **远程文件下载**:使用`file_get_contents`函数或者`cURL`库可以实现远程文件的下载。`file_get_contents`简单易用,但可能不适用于所有情况,例如需要设置HTTP头或处理HTTPS时。此时,`cURL`库提供更强大的功能...

    易语言远程服务文件传输

    总的来说,易语言远程服务文件传输涉及到网络编程、文件操作、数据编码解码等多个方面,对于开发者来说,理解和掌握这些知识点是实现远程文件传输的关键。通过学习和实践,可以构建出高效、安全的文件传输系统,满足...

Global site tag (gtag.js) - Google Analytics