php读取输出其他文件方法(php获取文件内容的方法)

发布时间:2022-11-10

本文目录一览:

  1. 怎么用php读取并显示另一个php文件的内容?
  2. 一个php文件读取调用另一个
  3. php读取文件夹并输出?
  4. php读取文件并输出
  5. PHP中读取文件的几个方法

怎么用php读取并显示另一个php文件的内容?

示例代码1: 用file_get_contents以GET方式获取内容

<?php
$url = '';
$html = file_get_contents($url);
// print_r($http_response_header);
echo $html;
printhr();
printarr($http_response_header);
printhr();
?>

示例代码2: 用fopen打开URL,以GET方式获取内容

<?php
$fp = fopen($url, 'r');
printarr(stream_get_meta_data($fp));
printhr();
while (!feof($fp)) {
    $result .= fgets($fp, 1024);
}
echo "url body: $result";
printhr();
fclose($fp);
?>

示例代码3:用file_get_contents函数,以POST方式获取URL

<?php
$data = array('foo' => 'bar');
$data = http_build_query($data);
$opts = array(
    'http' => array(
        'method' => 'POST',
        'header' => "Content-type: application/x-www-form-urlencoded\r\n" .
                    "Content-Length: " . strlen($data) . "\r\n",
        'content' => $data
    ),
);
$context = stream_context_create($opts);
$html = file_get_contents('', false, $context);
echo $html;
?>

示例代码4:用fsockopen函数打开URL,以GET方式获取完整的数据,包括header和body

<?php
function get_url($url, $cookie = false) {
    $url = parse_url($url);
    $query = $url['path'] . "?" . $url['query'];
    echo "Query:" . $query;
    $fp = fsockopen($url['host'], $url['port'] ? $url['port'] : 80, $errno, $errstr, 30);
    if (!$fp) {
        return false;
    } else {
        $request = "GET $query HTTP/1.1\r\n";
        $request .= "Host: $url[host]\r\n";
        $request .= "Connection: Close\r\n";
        if ($cookie) $request .= "Cookie: $cookie\r\n";
        $request .= "\r\n";
        fwrite($fp, $request);
        while (!@feof($fp)) {
            $result .= @fgets($fp, 1024);
        }
        fclose($fp);
        return $result;
    }
}
// 获取URL的HTML部分,去掉header
function GetUrlHTML($url, $cookie = false) {
    $rowdata = get_url($url, $cookie);
    if ($rowdata) {
        $body = stristr($rowdata, "\r\n\r\n");
        $body = substr($body, 4, strlen($body));
        return $body;
    }
    return false;
}
?>

示例代码5:用fsockopen函数打开URL,以POST方式获取完整的数据,包括header和body

<?php
function HTTP_Post($URL, $data, $cookie, $referrer = "") {
    // parsing the given URL
    $URL_Info = parse_url($URL);
    // Building referrer
    if ($referrer == "") // if not given use this script as referrer
        $referrer = "111";
    // making string from $data
    foreach ($data as $key => $value)
        $values[] = "$key=" . urlencode($value);
    $data_string = implode("&", $values);
    // Find out which port is needed - if not given use standard (=80)
    if (!isset($URL_Info["port"]))
        $URL_Info["port"] = 80;
    // building POST-request:
    $request = "POST " . $URL_Info["path"] . " HTTP/1.1\n";
    $request .= "Host: " . $URL_Info["host"] . "\n";
    $request .= "Referer: $referrer\n";
    $request .= "Content-type: application/x-www-form-urlencoded\n";
    $request .= "Content-length: " . strlen($data_string) . "\n";
    $request .= "Connection: close\n";
    $request .= "Cookie: $cookie\n";
    $request .= "\n";
    $request .= $data_string . "\n";
    $fp = fsockopen($URL_Info["host"], $URL_Info["port"]);
    fputs($fp, $request);
    while (!feof($fp)) {
        $result .= fgets($fp, 1024);
    }
    fclose($fp);
    return $result;
}
printhr();
?>

示例代码6: 使用cURL库

<?php
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
?>

关于cURL库:

cURL 官方网站
cURL 是使用 URL 语法的传送文件工具,支持 FTP、FTPS、HTTP、HTTPS、SCP、SFTP、TFTP、TELNET、DICT、FILE 和 LDAP。cURL 支持 SSL 证书、HTTP POST、HTTP PUT、FTP 上传、Kerberos、基于 HTTP 格式的上传、代理、Cookie、用户+口令验证、文件传送恢复、HTTP 代理通道等实用功能。

<?php
function printarr(array $arr) {
    echo "<br> Row field count: " . count($arr) . "<br>";
    foreach ($arr as $key => $value) {
        echo "$key = $value <br>";
    }
}
?>

一个php文件读取调用另一个

使用 include 方法载入配置文件。

1.php 的代码如下:

<?php
$config = include __DIR__ . '/2.php';
var_dump($config);

2.php 的代码如下:

<?php
$config['mydbhost']     = 'localhost';
$config['mydbuser']     = 'root';
$config['mydbpwd']      = 'root';
$config['mydbname']     = '80cms1';
$config['mydbcharset']  = 'utf8';
return $config;

php读取文件夹并输出?

<?php
$dir = "./images/"; // 要获取的目录
echo "********** 获取目录下所有文件和文件夹 ***********<hr/>";
// 先判断指定的路径是不是一个文件夹
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) != false) {
            // 文件名的全路径 包含文件名
            $filePath = $dir . $file;
            echo "<img src='" . $filePath . "'/>";
        }
        closedir($dh);
    }
}
?>

php读取文件并输出

直接 echo 就可以了……

echo file_get_contents($requestUrl);

(各种错误处理啥的您自己看着办吧)

PHP中读取文件的几个方法

// 方法一
file_get_contents();
// 方法二
$path = './hello.txt';
$mode = 'a';
$file = fopen($path, $mode);
...