CoffeeCat's IT Blog

解决PHP Exec中路径含空格的问题

今天用PHP来执行mysql dump程序,测试了一下,在PHP5.3的Windows机器上成功,但在PHP5.2的Windows机器上得到如下错误

'C:\Program' 不是内部或外部命令,也不是可运行的程序或批处理文件。

<?php
$cmd = '"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump.exe" -u..';
exec ( $cmd );
?>

修改成以下代码后,在PHP5.2的Windows机器上能运行了,但在PHP5.3的Windows机器却报错了

<?php
$cmd = '""C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump.exe" -u.."';
exec ( $cmd );
?>


终极版解决方法,通过判断PHP的版本解决该问题

<?php
$cmd = '"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump.exe" -u..';
ifPHP_OS=='WINNT' && version_compare(PHP_VERSION, '5.3.0', '<') ){
   
$cmd = '"'.$cmd.'"';
}
exec ( $cmd );
?>




Ferris

posted on 2012-09-03 18:13 CoffeeCat 阅读(3329) 评论(1)  编辑 收藏 引用

评论

# re: 解决PHP Exec中路径含空格的问题 2014-07-25 16:36 博客大全

学习了  回复  更多评论   

只有注册用户登录后才能发表评论。
<2012年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

导航

统计

公告

常用链接

留言簿(203)

随笔档案

收藏夹

搜索

最新评论

阅读排行榜

评论排行榜