$sjw2 = "/home/vpopmail/domains/backup.com";
$sjw = "/disk2/vpopmail/domains/backup.com/sjw";
system("/bin/cp -r \"$sjw\" \"$sjw2\" "); 
//能有提示信息吗? $query= "select pw_dir  from vpopmail where pw_name='sjw' ";
 $result = mysql_query($query,$sql); 
 $query= "UPDATE vpopmail SET pw_dir='$sjw2./sjw' where pw_name='sjw' ";
 $result = mysql_query($query,$sql);
//能有提示信息吗?system("/bin/rm -rf \"$sjw\" ");
//能有提示信息吗?
上面是小弟写的代码 功能是:移动服务器里面 用户目录, 并且更新数据库信息 最后 删除原目录 。小弟想请各位高手帮忙看下 能不能 当 执行完 移动目录( system("/bin/cp -r \"$sjw\" \"$sjw2\" "); )
才能更新数据库信息(UPDATE vpopmail SET pw_dir='$sjw2./sjw' where pw_name='sjw' )
当上面两个步骤都操作成功之后 才能删除原目录 (system("/bin/rm -rf \"$sjw\" ");)
并且 当每个步骤完成之后 能够 显示出一些提示信息。
谢谢了

解决方案 »

  1.   

    直接echo到页面上就可以了.
    system("/bin/cp -r \"$sjw\" \"$sjw2\" "); 
    echo sprintf("从%s复制到%s成功!", $sjw, $sjw2);
      

  2.   

    用IF判断,如
    $result=system("/bin/cp -r \"$sjw\" \"$sjw2\" "); 
    if($result == false)
    {
    echo xxx;
    return;
    }system 的返回值是最后一行执行成功的代码 或 FALSE;
    update 返回更新操作影响的行数。
      

  3.   

    删除完文件后最好使用条件判断一下文件是否删除。如果删除成功再执行sql
      

  4.   

    ·双线主机 100M/35元/年,免费送数据库(自选MY/MSSQL) 
    ·详情请访问:http://www.515dns.com 
      

  5.   

    2楼的我用的你的代码之后
    $result 不管什么时候都是返回的是 FALSE;
    为什么呀? 
      

  6.   

    $result=system("/bin/cp -r \"$sjw\" \"$sjw2\" "); 
    $result好像是没有返回值的呀?
      

  7.   

    竟有此事?手册上说是返回成功后的打印信息的啊。如果失败才返回FALSE。
      

  8.   

    $last_line = system('xxx', $result);试着这样用下。如果没有打印信息的,可能返回NULL,即=false。
      

  9.   


    因为cp -r本身并不会输出任何信息,你用"ls -l"试试,肯定有输出
      

  10.   


    不要拿system函数的返回值当作执行结果,如果需要返回值,使用passthru函数。
    如果是简单的显示执行状态,按照1楼说的,echo就可以了。
    如果需要比较复杂的输出,建议使用Zend_LOG