Heim  >  Artikel  >  Backend-Entwicklung  >  PHP 写资料,形成一个shell文件,去掉^M

PHP 写资料,形成一个shell文件,去掉^M

WBOY
WBOYOriginal
2016-06-13 13:22:171455Durchsuche

PHP 写文件,形成一个shell文件,去掉^M
PHP 代码:


$file_name = '/srv/cfg/sysnetwork.cfg';

$sysnetwork_str = "#!/bin/sh\n\r";

if($_REQUEST['mgt_ip']&&$_REQUEST['mgt_netmask']){
$sysnetwork_str .= '/sbin/ifconfig mgt '.$_REQUEST['mgt_ip'].' netmask '.$_REQUEST['mgt_netmask']."\n\r";
}
if($_REQUEST['ext_ip']&&$_REQUEST['ext_netmask']){
$sysnetwork_str .='/sbin/ifconfig ext '.$_REQUEST['ext_ip'].' netmask '.$_REQUEST['ext_netmask']."\n\r";
}
if($_REQUEST['gateway']){
$sysnetwork_str .= '/sbin/route add default gw '.$_REQUEST['gateway'];
}

$write_rs=file_put_contents($file_name,$sysnetwork_str);



换行用户的\n\r
形成的文件如下:
#!/bin/sh
^M/sbin/ifconfig mgt 192.168.2.45 netmask 255.255.255.0
^M/sbin/ifconfig ext 192.168.2.99 netmask 255.255.255.0
^M/sbin/route add default gw 192.168.11.1


结果shell不能执行,发现多了^M ,

怎么解决?

------解决方案--------------------
历史问题

用服务器系统下的标准换行符即可,可以用常量PHP_EOL

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn