仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1419|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网站制作之PHP输出流input简介

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:35:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
虽说不上很好,但至少一般的数据操作,再在原有的SQL语言的基础上,用得还是可以的。   <p>在利用xml-rpc的时分,server端获得client数据,次要是经由过程php输出流input,而不是$_POST数组。所以,这里次要切磋php输出流php://input
对一php://input引见,PHP官方手册文档有一段话对它停止了很明白地概述。
“php://input allows you to read raw POST data. It is a less memory intensive alternative to $HTTP_RAW_POST_DATA and does not need any special php.ini directives. php://input is not available with enctype=”multipart/form-data”.
翻译过去,是如许:
“php://input可以读取没有处置过的POST数据。相较于$HTTP_RAW_POST_DATA而言,它给内存带来的压力较小,而且不需求特别的php.ini设置。php://input不克不及用于enctype=multipart/form-data”
咱们应当怎样去了解这段概述呢?!我把它划分为三局部,慢慢去了解。
    1. 读取POST数据
    2. 不克不及用于multipart/form-data类型
    3. php://input VS $HTTP_RAW_POST_DATA
读取POST数据
PHPer们必定很熟习$_POST这个内置变量。$_POST与php://input存在哪些联系关系与区分呢?别的,客户端向办事端交互数据,最经常使用的办法除POST以外,还有GET。既然php://input作为PHP输出流,它能读取GET数据吗?这二个成绩恰是咱们这节需求切磋的次要内容。
经历告知咱们,从测试与察看中总结,会是一个很凑效的办法。这里,我写了几个剧本来匡助咱们测试。
@file 192.168.0.6:/phpinput_server.php 打印出吸收到的数据
@file 192.168.0.8:/phpinput_post.php 摹拟以POST办法提交表双数据
@file 192.168.0.8:/phpinput_xmlrpc.php 摹拟以POST办法收回xmlrpc恳求.
@file 192.168.0.8:/phpinput_get.php 摹拟以GET办法提交表单表数
phpinput_server.php与phpinput_post.php
<?php
//@file phpinput_server.php
$raw_post_data = file_get_contents('php://input', 'r');
echo "-------\$_POST------------------\n";
echo var_dump($_POST) . "\n";
echo "-------php://input-------------\n";
echo $raw_post_data . "\n";
?>
<?php
//@file phpinput_post.php
$http_entity_body = 'n=' . urldecode('perfgeeks') . '&p=' . urldecode('7788');
$http_entity_type = 'application/x-www-form-urlencoded';
$http_entity_length = strlen($http_entity_body);
$host = '192.168.0.6';
$port = 80;
$path = '/phpinput_server.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;
}
?>
咱们可以经由过程利用东西ngrep抓取http恳求包(由于咱们需求探知的是php://input,所以咱们这里只抓取http Request数据包)。咱们来履行测试剧本phpinput_post.php聪明的你,显然已经逐渐的开悟了,慢慢的理解了编程的概念,那么祝贺你,你已经迈出了成功的第一步。
第二个灵魂 该用户已被删除
沙发
发表于 2015-2-4 02:58:56 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
不帅 该用户已被删除
板凳
发表于 2015-2-5 00:06:04 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
透明 该用户已被删除
地板
发表于 2015-2-10 23:10:48 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
小女巫 该用户已被删除
5#
发表于 2015-2-14 00:34:30 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
深爱那片海 该用户已被删除
6#
发表于 2015-3-6 13:23:39 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-6 21:18:58 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
简单生活 该用户已被删除
8#
发表于 2015-3-13 09:11:11 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
再现理想 该用户已被删除
9#
发表于 2015-3-16 21:46:10 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
乐观 该用户已被删除
10#
发表于 2015-3-17 09:11:15 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
山那边是海 该用户已被删除
11#
发表于 2015-3-24 05:36:04 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
莫相离 该用户已被删除
12#
发表于 2015-4-3 23:58:16 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
小妖女 该用户已被删除
13#
发表于 2015-4-10 06:46:52 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
活着的死人 该用户已被删除
14#
发表于 2015-4-15 06:39:22 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
爱飞 该用户已被删除
15#
发表于 2015-4-16 01:55:09 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
愤怒的大鸟 该用户已被删除
16#
 楼主| 发表于 2015-4-25 02:28:05 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
金色的骷髅 该用户已被删除
17#
发表于 2015-4-27 02:32:06 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
老尸 该用户已被删除
18#
发表于 2015-5-4 07:54:46 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
小魔女 该用户已被删除
19#
发表于 2015-5-6 05:07:07 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 20:00

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表