
正文
phpput请求数据流 php put请求
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
thinkphp3.2 请求怎么发送 put
在很多情况下面,我们需要判断当前操作的请求类型是GET 、POST 、PUT或 DELETE,一方面可以针对请求类型作出不同的逻辑处理,另外一方面有些情况下面需要验证安全性,过滤不安全的请求。
系统Action类内置了一些判断方法用于判断请求类型,包括:
方法 说明
isGet 判断是否是GET方式提交
isPost 判断是否是POST方式提交
isPut 判断是否是PUT方式提交
isDelete 判断是否是DELETE方式提交
isHead 判断是否是HEAD提交
使用举例如下:
class UserAction extends Action{
public function update(){
if ($this-isPost()){
$User = M('User');
$User-create();
$User-save();
$this-success('保存完成');
}else{
$this-error('非法请求');
}
}
}
2
另外还提供了一个判断当前是否属于AJAX提交的方法
isAjax 是否属于AJAX提交
需要注意的是,如果使用的是ThinkAjax或者自己写的Ajax类库的话,需要在表单里面添加一个隐藏域,告诉后台属于ajax方式提交,默认的隐藏域名称是ajax(可以通过VAR_AJAX_SUBMIT配置),如果是JQUERY类库的话,则无需添加任何隐藏域即可自动判断。
相关问答
Q1: 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响应;
用户代理可通过自己的判断来决定是否转发该请求;
Q2: 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会去检查配置文件是否正确,如果有配置错误,
这里会报错,可以根据错误信息去排查!
Q3: PHP 怎么使用put
//接收上传phpput请求数据流的文件
foreach($_FILES as $file)
{
$tempFileName = $file['tmp_name'];//上传文件的临时路径
}
/把图片移动到服务器制定路径
$img = '/var/www/html/picture/test.jpg';
move_uploaded_file($tempFileName, $img);
//缩放比例
$ratio = 0.5;
//修改尺寸 至于各个函数是干嘛的phpput请求数据流,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);
Q4: php对put请求的body是如何处理的
可以使用file_get_contents("php://input")接收原始数据,然后自己原始数据
关于phpput请求数据流和php put请求的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








