SpeedPHP技术交流论坛

 找回密码
 论坛注册

QQ登录

只需一步,快速开始

搜索
查看: 1583|回复: 9

求助关于php执行指令与跨控制器使用方法的问题

[复制链接]

5

主题

0

好友

38

积分

武林新贵

Rank: 4

发表于 2010-1-29 12:17:28 |显示全部楼层
求助

1、$mysqlstr = "mysqldump -uroot -h127.0.0.1 -p111 --opt -B db_app1 > ./bak/".$_POST['b_name'];
     echo shell_exec($mysqlstr)."<BR>";
命令执行后,bak目录下生成的文件是空文件。数据库没有备份

2、
controller1.php中
class controller1 extends spController{
  function action1(){}
}

controller2.php中
class controller2 extends spController{
  function action2(){}
}

现在我想要在action2中使用 controller1的action1,应该如何做?

48

主题

0

好友

3074

积分

管理员

@speedphp

Rank: 9Rank: 9Rank: 9

发表于 2010-1-29 12:51:59 |显示全部楼层
1. 关于这些命令的事情,我不是很清楚,只能建议看看PHP关于这方面的介绍,能不能帮到楼主
http://www.php.net/manual/en/function.shell-exec.php
2.
import(路径/controller1文件); // 由于controller文件一般不在自动搜索的目录,所以要通过路径引入该文件,在引入的时候,建议善用APP_PATH这个常量!
spClass("controller1")->action1(); // 执行action1

5

主题

0

好友

38

积分

武林新贵

Rank: 4

发表于 2010-1-29 13:57:01 |显示全部楼层
谢谢jake大哥

2 解决
1 实在搞不定,晕

5

主题

0

好友

38

积分

武林新贵

Rank: 4

发表于 2010-1-29 14:52:40 |显示全部楼层
1 解决了。
windows中
即使系统环境变量path中指定了mysqldump的路径,仍然要在$mysqlstr 中写绝对路径
如果路径中有空格,必须要用" "将该路径括起来,最外层用' '。
例如:$mysqlstr = 'D:\"Program Files"\MySQL-5.0.83\bin\mysql -uroot -h127.0.0.1 -p111 db_app < ./bak/'.$_POST['r_name'];

6

主题

0

好友

34

积分

武林新贵

Rank: 4

发表于 2011-5-18 19:51:46 |显示全部楼层
Jake,假如 spClass("controller1")->action1(); // 执行action1 这个ACTION 需要带一个参数才能执行,这里应该怎么书写代码?

6

主题

0

好友

34

积分

武林新贵

Rank: 4

发表于 2011-5-18 19:51:54 |显示全部楼层
Jake,假如 spClass("controller1")->action1(); // 执行action1 这个ACTION 需要带一个参数才能执行,这里应该怎么书写代码?

48

主题

0

好友

3074

积分

管理员

@speedphp

Rank: 9Rank: 9Rank: 9

发表于 2011-5-18 20:58:27 |显示全部楼层
Jake,假如 spClass("controller1")->action1(); // 执行action1 这个ACTION 需要带一个参数才能执行,这里 ...
wznjsy 发表于 2011-5-18 19:51


可以用 $this->spArgs() 也可以 action1($id) 这样用参数
提问前注意:请先查手册、搜索本站和搜索论坛来查找答案,大部分问题都在手册和论坛旧贴中能够得到解答!

提问时注意要把问题说清楚,最好包括:代码、错误提示、截图等

6

主题

0

好友

34

积分

武林新贵

Rank: 4

发表于 2011-5-18 21:11:04 |显示全部楼层
不是很明白 为什么在这里用$this->spArgs() ?
$this->spArgs() 这个应该是获取参数啊。而不是对参数赋值啊。

6

主题

0

好友

34

积分

武林新贵

Rank: 4

发表于 2011-5-18 21:11:06 |显示全部楼层
不是很明白 为什么在这里用$this->spArgs() ?
$this->spArgs() 这个应该是获取参数啊。而不是对参数赋值啊。

48

主题

0

好友

3074

积分

管理员

@speedphp

Rank: 9Rank: 9Rank: 9

发表于 2011-5-18 21:18:14 |显示全部楼层
可以用 $this->spArgs() 来获取参数,或者用action1($id)来获取。对参数赋值那就更简单 spClass("controller1")->action1(1234);或者$a=1;pClass("controller1")->action1($a);
提问前注意:请先查手册、搜索本站和搜索论坛来查找答案,大部分问题都在手册和论坛旧贴中能够得到解答!

提问时注意要把问题说清楚,最好包括:代码、错误提示、截图等
您需要登录后才可以回帖 登录 | 论坛注册

手机版|Archiver|SpeedPHP.com ( 粤ICP备08008671号 )  

GMT+8, 2012-5-19 01:45

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部