php如何用路径指向某方法
如果我有一个表单,要提交给upload.php里面的upload()方法,用这个upload方法来处理表单表单提交时候,路径怎么写?...
如果我有一个表单,要提交给upload.php里面的upload()方法,用这个upload方法来处理表单
表单提交时候,路径怎么写? 展开
表单提交时候,路径怎么写? 展开
4个回答
推荐于2016-10-30
展开全部
你这种的话,可能要用到很多方面的东西,你可以参考一下一些框架,如Yii框架等,我自己也写过一些简单的框架。如果你自己要实现这样的功能的话,大致思路如下:
使用单一入口文件,这样所有的请求都从这里过,便于控制;
有专门的类处理你的请求,并能够根据请求参数调用参数指定的方法处理请求;
进行url重写,将带有参数的地址重写为友好的地址,如将/index.php?route=upload/upload重写为/upload/upload等等。
大致都是如此。
如果你只是想用一个方法处理请求的话,就很简单了,自己封装一个就可以了。
追问
用了url重写,但是问题又来了,还必须再传一个参数:$id 过去,这个参数怎么加在url里面?
追答
url可以包含很多东西,不只是简单包含上面说的route一类的东西,因为既然是url rewrite,那也就是说由你来控制url规则,如果是你来控制规则,那么你可以很方便的将id参数放在里面。我们以你这里的场景为例。比如你还要加一个id参数,那么rewrite之前的url可能类似于:
/index.php?route=upload/upload&id=123
那么你可以写成:
/upload/upload/123
如果你愿意,写成:/upload/upload/123.html也是可以的
以此类推,假设你这里的id为一篇文章,你要编辑,你油想价格action=edit,那么,rewrite之前的地址就类似于:
/index.php?route=upload/upload&id=123&action=edit
改写后:
/upload/upload/123/edit
如果你不爽,改写成下面也是可以的:
/upload/upload/123.html?action=edit
你还不爽,改写成:
/upload/upload/123_edit.html
也完全没有问题。
url rewrite功能还是比较强大,建议你多花点时间学习一下,肯定大有好处的。
祝你学习愉快!
展开全部
因为你的不是Controller,所以你不能直接调用这个upload.php里面的方法,最直接的方法是,在upload.php做一个判断,然后再调用该文件的方法。
<?php
if (IS_POST) {
// call your function here
test();
}
function test() {
echo "Hello World";
}
?>
追问
就是控制器,webupload插件,用js提交表单,我想把它提交给某个控制器,因为控制器里面还有其他的方法,所以要指定用upload这个方法来处理
追答
TP?那你就直接post到这个function就可以了。TP的示例
namespace Home\Controller;
use Think\Controller;
class BlogController extends Controller{
public function read($id){
echo 'id='.$id; }
public function archive($year='2013',$month='01'){
echo 'year='.$year.'&month='.$month; }}
##注意这里的操作方法并没有具体的业务逻辑,只是简单的示范。
URL的访问地址分别是:
http://serverName/index.php/Home/Blog/read/id/5
所以你直接serverName/index.php/upload/yourfunction
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-12-04 · 知道合伙人软件行家
关注
展开全部
有这样的吗? 不如就提交到那个页面,获取到内容后,调用upload方法
参数为内容,,
方法是php方法 还是js方法
不是还有onsubmit()
参数为内容,,
方法是php方法 还是js方法
不是还有onsubmit()
追问
TP框架,控制器里面有多个方法,所以我想是不是可以直接提交给控制器里指定方法来处理
追答
明白你的意思了 , 与我这里用的方法一样的,
实现思路不一样 tp不清楚
我这儿是提交表单是表单绑定的id 在类里面的方法进行判断验证
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-12-04
展开全部
自己想办法判断请求。php是服务器语言
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询