>백엔드 개발 >PHP 튜토리얼 >PHP??????????HTTP PUT??????????,phphttpput_PHP教程

PHP??????????HTTP PUT??????????,phphttpput_PHP教程

WBOY
WBOY원래의
2016-07-13 10:23:05946검색

PHP??????????HTTP PUT??????????,phphttpput

????HTTP PUT????????????????????http://www.bkjia.com/article/52515.htm??

PHP????$_GET??$_POST??????????$_PUT??????????????????????????????????????????????????

???????? ????????:

 $_PUT = array();
if ('PUT' == $_SERVER['REQUEST_METHOD']) {
     parse_str(file_get_contents('php://input'), $_PUT);
 }

????php://input????????????raw data????????????parse_str??????????

??????????????????????????enctype="multipart/form-data"?????????????????????????????????????????????????????????? php://input????????????PHP??????????Content-Type??multipart/form-data??????????????????????????????????????????$_FILES????????????????raw data????????????????????

??apache??????????httpd.conf??????????RequestHeader??????????????header????????

???????? ????????:


     RequestHeader set Content-Type foobar


????????Content-Type????????foobar??????????multipart/form-data????????????php://input??????????????????????????$_FILES??????????????????????????????????????????????????????raw data??????????????????????????PEAR????????????????HTTP_Request2_MultipartBody??

????????????????????GET/POST??????????????????JS??????PUT????????????????????????????????????????????????CURL????????????????????????????????????????????????????????????????

???????? ????????:

curl -X PUT http://www.domain.com/demo.php -d "id=1" -d "title=a"

????????????PUT????????id, title????????????demo.php??????????????????php://input??

file_put_contents()函数需要什参数?(php)

int file_put_contents ( string filename, string data [, int flags [, resource context]] )
filename:要写入数据的文件名
data:要写入的数据。类型可以是 string,array(但不能为多维数组),或者是 stream 资源
flags:可选,规定如何打开/写入文件。可能的值:
FILE_USE_INCLUDE_PATH:检查 filename 副本的内置路径
FILE_APPEND:在文件末尾以追加的方式写入数据
LOCK_EX:对文件上锁
context:可选,Context是一组选项,可以通过它修改文本属性

file_put_contents("test.txt", "This is another something.", FILE_APPEND);
 

PHP里的output_buffering 怎开启?

在PHP.INI可以设置以下与输出缓冲有关的:
名称 默认值 作用范围 修正记录
output_buffering "0" PHP_INI_PERDIR
output_handler NULL PHP_INI_PERDIR 自 PHP 4.0.4 起可用
implicit_flush "0" PHP_INI_ALL 在 PHP
简单解释如下:
output_buffering boolean/integer
该选项设置为 On 时,将在所有的脚本中使用输出控制。如果要限制输出缓冲区的最大值,可将该选项设定为指定的最大字节数(例如 output_buffering=4096)。从PHP 4.3.5 版开始,该选项在 PHP-CLI 下总是为 Off。

output_handler string
该选项可将脚本所有的输出,重定向到一个函数。例如,将 output_handler 设置为 mb_output_handler() 时,字符的编码将被修改为指定的编码。设置的任何处理函数,将自动的处理输出缓冲。

注意: 不能同时使用 mb_output_handler() 和 ob_iconv_handler(),也不能同时使用 ob_gzhandler() 和 zlib.output_compression。

注意: 只有内置函数可以使用此指令。对于用户定义的函数,使用 ob_start()。

implicit_flush boolean
默认为 FALSE。如将该选项改为 TRUE,PHP 将使输出层,在每段信息块输出后,自动刷新。这等同于在每次使用 print()、echo() 等函数或每个 HTML 块之后,调用 PHP 中的 flush() 函数。

不在web环境中使用 PHP 时,打开这个选项对程序执行的性能有严重的影响,通常只推荐在调试时使用。在 CLI SAPI 的执行模式下,该标记默认为 TRUE。

参见 ob_implicit_flush()。

设置了肯定会有用的,除非你修改的PHP.INI位置不是系统使用的那个,比如一般是C::\WINDOWS\PHP.INI,当然可以设置到其它地方。另外控制台程序是不缓冲的。

另外,你还可以在程序里面控制输出缓冲,请参考手册里面的“CXIV. Output Control 输出控制函数”那一章,主要有如下函数:

flush -- 刷新输出缓冲
ob_clean -- Clean (erase) the output buffer
ob_end_clean -- Clean (erase) the output buffer and turn off output buffering
ob_end_flush -- Flush (send) the output buffer and turn off output buffering
ob_flush -- Flush (send) the output buffer
ob_get_clean -- Get current buffer contents and delete current output buffer
ob_get_contents -- Return the contents of the output buffer
ob_get_flu......余下全文>>
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/844130.htmlTechArticlePHP??????????HTTP PUT??????????,phphttpput ????HTTP PUT????????????????????http://www.bkjia.com/article/52515.htm?? PHP????$_GET??$_POST??????????$_PUT???????????????????????????...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.