• 利用PHP输入流发送图片

    php://input的使用实例
    服务器君一共花费 13.009 ms 进行了 3 次数据库查询,努力地为您提供了这个页面。
    广告很萌的

    前面我们详细地分析了 php://input 的一些情况,那么这里简单地写一个例子感受一下它的用法吧。比如用 PHP 的输入流传输一张图片什么的。

    $data = file_get_contents('wb.png');
    $http_entity_body = $data;
    $http_entity_type = 'application/x-www-form-urlencoded';
    $http_entity_length = strlen($http_entity_body);
    $host = '127.0.0.1';
    $port = 80;
    $path = '/getimg.php';
    $fp = fsockopen($host, $port, $error_no, $error_desc, 30);
    if ($fp)
    {
        fputs($fp, "POST {$path} HTTP/1.1\r\n");
        fputs($fp, "Host: {$host}\r\n");
        fputs($fp, "Content-Type: {$http_entity_type}\r\n");
        fputs($fp, "Content-Length: {$http_entity_length}\r\n");
        fputs($fp, "Connection: close\r\n\r\n");
        fputs($fp, $http_entity_body . "\r\n\r\n");
    
        while (!feof($fp))
        {
            $d .= fgets($fp, 4096);
        }
        fclose($fp);
        echo $d;
    }
    

    服务器端接收的代码 getimg.php:

    /**
     *Recieve image data
    **/
    error_reporting(E_ALL);
    function get_contents()
    {
        $xmlstr= file_get_contents("php://input");
        $filename=time().'.png';
        if(file_put_contents($filename,$xmlstr))
        {
            echo 'success';
        }
        else
        {
            echo 'failed';
        }
    }
    get_contents();
    

    大概就这样,其实挺简单的。不过要注意在enctype="multipart/form-data"情况下,是无法接收到流的,其他情况下都可以。

更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [PHP程序设计] 命令式编程范式 6 个条目
  2. [运维管理] 路由器与交换机 4 个条目
  3. [移动开发] Layout_weight属性解析 5 个条目
  4. [PHP程序设计] PHP扩展模块安装 1 个条目
  5. [JavaScript程序设计] jQuery与表单操作 2 个条目
  6. [JavaScript程序设计] 关于HTTP Keep-Alive 6 个条目
  7. [Python程序设计] Python HTTP服务器 7 个条目
  8. [移动开发] 从代码角度去认识 Handler 4 个条目
  9. [Python程序设计] Tornado 服务器环境配置 3 个条目
  10. [搜索引擎优化] 与百度权重有关的信息 2 个条目
  11. [Python程序设计] Django 入门知识浅介 10 个条目
  12. [C语言程序设计] 结构体基本知识 1 个条目
窗口 -- [八点]