很多站长朋友们都不太清楚php接收put,今天小编就来给大家整理php接收put,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP中put和post区别 2、 php对put请求的body是如何处理的 3、 PHP 怎么使用put 4、 php put方式怎么接收文件, 5、 PHP如何获取PUT和DELETE请求的参数 PHP中put和post区别1.使用支持和范围的区别:
PHP提供了对PUT方法的支持,在Http定义的与服务器的交互方法中,PUT是把消息本体中的消息发送到一个URL,形式上跟POST类似;
PHP 提供对诸如 Netscape Composer 和 W3C Amaya 等客户端使用的 HTTP PUT 方法的支持;
PHP 4 中,必须使用标准的输入流来读取一个 HTTP PUT 的内容;
PUT方法没有POST方法使用广泛,但PUT方法却是向服务器上传文件最有效率的方法:
2.上传过程的区别:
POST上传文件时,通常需要将所有的信息组合成multipart 传送过去,然后服务器再解码这些信息,解码过程则必不可少的会消耗内存和CPU资源,这种现象在上传大文件时尤其明显;
PUT方法则允许你通过与服务器建立的socket链接传递文件的内容,而不附带其他的信息,效果上更直接;
3.上传效果的区别:
PHP 接受到 PUT 方法的请求时,会把上传的文件储存到和其它用 POST 方法处理过的文件相同的临时目录;请求结束时,临时文件将被删除。
用来处理 PUT 的 PHP 脚本必须将该文件拷贝到其它的地方;
4. POST和PUT请求根本区别
POST请求的URI表示处理该封闭实体的资源,该资源可能是个数据接收过程、某种协议的网关、或者接收注解的独立实体;
PUT请求中的URI表示请求中封闭的实体-用户代理知道URI的目标;
服务器无法将请求应用到其他资源;
如果服务器希望该请求应用到另一个URI,就必须发送一个301响应;
用户代理可通过自己的判断来决定是否转发该请求;
php对put请求的body是如何处理的可以使用file_get_contents("php://input")接收原始数据,然后自己原始数据
PHP 怎么使用put//接收上传的文件
foreach($_FILES as $file)
{
$tempFileName = $file['tmp_name'];//上传文件的临时路径
}
/把图片移动到服务器制定路径
$img = '/var/www/html/picture/test.jpg';
move_uploaded_file($tempFileName, $img);
//缩放比例
$ratio = 0.5;
//修改尺寸 至于各个函数是干嘛的,google一下吧
$imagedata = getimagesize($img);
$olgWidth = $imagedata[0];
$oldHeight = $imagedata[1];
$newWidth = $olgWidth * $ratio;
$newHeight = $oldHeight * $ratio;
$image = imagecreatefromjpeg($img);
$thumb = imagecreatetruecolor ($newWidth, $newHeight);
imagecopyresized ($thumb, $image, 0, 0, 0, 0, $newWidth, $newHeight, $olgWidth, $oldHeight);
imagejpeg($thumb, $img);
imagedestroy($thumb);
imagedestroy($image);
php put方式怎么接收文件,<?php
function curlrequest($url,$data,$method='post'){
$ch = curl_init(); //初始化CURL句柄
curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //设为TRUE把curl_exec()结果转化为字串,而不是直接输出
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //设置请求方式
curl_setopt($ch,CURLOPT_HTTPHEADER,array("X-HTTP-Method-Override: $method"));//设置HTTP头信息
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置提交的字符串
$document = curl_exec($ch);//执行预定义的CURL
if(!curl_errno($ch)){
$info = curl_getinfo($ch);
echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
} else {
echo 'Curl error: ' . curl_error($ch);
}
curl_close($ch);
return $document;
}
$url = '';
$data = "request from put method";
$return = curlrequest($url, $data, 'put');
var_dump($return);exit;
?>
2. [代码][PHP]代码
<?php
$arguments = file_get_contents('php://input');
print_r($arguments);
PHP如何获取PUT和DELETE请求的参数进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:cd curl
执行phpize生成编译文件,phpize在PHP安装目录的bin目录下
/usr/local/php5/bin/phpize
运行时,可能会报错:Cannot find autoconf. Please check your autoconf installation and
the $PHP_AUTOCONF
environment variable is set correctly and then rerun this
script.,需要安装autoconf:
yum install autoconf(RedHat或者CentOS)、apt-get install
autoconf(Ubuntu Linux)
/usr/local/php5/bin/php -v
执行这个命令时,php会去检查配置文件是否正确,如果有配置错误,
这里会报错,可以根据错误信息去排查!
关于php接收put的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php接收put php接收tcp协议数据的详细内容...