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
0
0
相关文章
解决Laravel表单图片上传无效问题:一个常见且易被忽视的陷阱
解决 Laravel Form Request 更新时唯一性验证失效问题
在Laravel中优雅处理请求中的可选布尔字段
如何在 Laravel 中间件中获取 URL 的最后一个片段
Laravel Form Request 中唯一性验证更新操作的正确实践
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
void是一元运算符,执行右侧表达式但始终返回undefined;用于丢弃返回值、阻止a标签跳转、IIFE忽略结果、动态导入不取Promise、安全获取undefined。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
1
2025.12.29
调整VSCode界面字体大小可通过设置编辑器或整体UI缩放实现;2.修改"Editor:FontSize"改变代码字体;3.设置"Window:ZoomLevel"调整整体界面字体;4.使用Ctrl+滚轮快捷键临时缩放。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
1
2025.12.29
单行注释快捷键为Ctrl+/(Windows/Linux)或Cmd+/(macOS),块注释使用Shift+Alt+A(Windows/Linux)或Shift+Option+A(macOS),VSCode会根据语言类型自动匹配语法,如JavaScript用//,Python用#,C++用//,若快捷键无效需检查语言扩展或插件冲突。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
1
2025.12.29
本专题系统讲解 Golang 在命令行工具(CLI)开发中的实战应用,内容涵盖参数解析、子命令设计、配置文件读取、日志输出、错误处理、跨平台编译以及常用CLI库(如 Cobra、Viper)的使用方法。通过完整案例,帮助学习者掌握 使用 Go 构建专业级命令行工具与开发辅助程序的能力。
4
2025.12.29
热门下载
相关下载
精品课程
最新文章






