gpt4 book ai didi

php - 尝试在 PHP/Apache 中执行 exec ("unix2dos xxx"时出现问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:01:55 26 4
gpt4 key购买 nike

previous post 中,我试图更新从 php 下载文件的编码。其中一项建议是在将文件发送给用户之前运行 unix2dos 命令。当我在 linux 机器上运行命令时,这很好用,但是当我尝试从 php 运行命令时,我什么也得不到。这是我尝试过的:

$cmd = "unix2dos -n $fullPath $downloadFile";

echo exec($cmd, $out, $retVal);

这不会在屏幕上显示任何内容,$retVal 为 0,$out 为空字符串。

echo system($cmd, $retVal);

这不会在屏幕上显示任何内容,$retVal 为 0。

echo shell_exec($cmd);

这不会在屏幕上显示任何内容。

我也尝试过转义命令及其参数,例如:

$cmd = escapeshellcmd($cmd);

$cmd = "unix2dos ". escapeshellarg("-n \"$fullPath\" \"$downloadFile\"");

如果您发现我做错了什么,请告诉我。

谢谢!

编辑:这里有一些可能有用的信息。unix2dos 版本:2.2 (1995.03.31)PHP版本5.2.9在 Redhat Enterprise Linux 4 上的 apache 2 中运行

最佳答案

您是否考虑过纯 PHP 解决方案?

<?php

$unixfile = file_get_content('/location/of/file/');
$dosfile= str_replace("\n", "\r\n", $unixfile );
file_put_contents('/location/of/file/', $dosfile);

?>

类似的东西应该可以做到,尽管未经测试:)

沙迪

关于php - 尝试在 PHP/Apache 中执行 exec ("unix2dos xxx"时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1044068/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com