php 执行系统命令的方法

yipeiwu_com6年前PHP代码库
代码如下:
复制代码 代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <string.h>

int main(int argc,char * argv[])
{
    uid_t uid,euid;
    char cmd[1024]="chmod -R 777 ";
    uid =getuid();
    euid = geteuid();


    //printf("param %s\n",strcat(cmd,argv[1]));
    //exit(0);
    //printf("uid:%un. eudi=%un\n",getuid(),geteuid());

    if(setreuid(euid,uid))
        perror("setreuid");

    //printf("uid:%un. eudi=%un\n",getuid(),geteuid());    

system(strcat(cmd,argv[1]));
    return 0;

}

现在说下,在linux下面,gcc编译,以及复权的问题:
执行
gcc -Wall -o phpchmod phpchmod.c
执行
chmod u+s ./phpchmod
php代码的使用:
复制代码 代码如下:

$chmod_line = dirname(__FILE__)."/phpchmod ./dest_dir/";
system($chmod_line);

相关文章

thinkphp框架下404页面设置 仅三步

404页面即系统在找不到请求的操作方法和找不到请求的控制器名称时的一种报错行为的优化。 在很多网站中都会有使用404页面的时候,在ThinkPHP框架中该如何设置呢,接下来我介绍其中一种...

php从数组中随机抽取一些元素的代码

复制代码 代码如下: <?php class getValues { public function inputValue($inputArray) { $this->inp...

PHP递归的三种常用方式

递归:函数自己调用自己的一种编程方法,类似于循环,所以递归调用的函数中必须有终止条件,否则就会成为死循环 无限级:其实并不是真正的无限级,只是层级不确定,所以我们称之为无限级 因为常用递...

php eval函数用法总结

eval定义和用法 eval() 函数把字符串按照 PHP 代码来计算。 该字符串必须是合法的 PHP 代码,且必须以分号结尾。 如果没有在代码字符串中调用 return 语句,则返回...

php microtime获取浮点的时间戳

一直以来用这个函数获取: 复制代码 代码如下: function microtime_float(){ list($usec, $sec) = explode(" ", microtim...