避免在PHP中需要dos2unix

时间:2015-12-07 08:16:40

标签: php bash dos2unix

我们曾经通过旧服务器上的终端编辑有效负载脚本。

为了缓解并避免打字错误我想设计一个生成有效负载的php脚本,将其保存到文件中并使用PHP中的内置FTP功能将文件上传到FTP服务器并chmod脚本至755。

但是我生成的有效负载并不是服务器特别喜欢的。它没有运行。

#./payload.sh 
-sh: ./payload.sh: not found
#

然而,在做了一个简单的dos2unix payload.sh后,一切运行正常。

#dos2unix payload.sh    
#./payload.sh 
[OK] running payload....
#

如何自动雕刻我的文件以避免每次都需要dos2unix?我尝试过明显的KISS方法:

$contents = str_replace("\r","",$contents);
$contents = trim($contents);

没有运气。脚本仍然没有运行。

所以我看了一眼dos2unix.c和dos2unix.h,发现它看起来并不像我想的那么简单。有800多行代码。

我可以用PHP做更简单的事吗? FWIW,我不得不承认,目前我一直在Mac上使用Sublime Text 2编写的手动打印文件。我确实尝试“Save with Encoding”/“UTF-8”并选择“Unix”作为“Line Endings”。

1 个答案:

答案 0 :(得分:0)

我现在使用FTP_BINARY而不是FTP_ASCII。现在工作。 - EDP