替代 PHP exec() 函数

发布于 2024-12-06 13:17:09 字数 235 浏览 1 评论 0原文

目前我正在使用:

exec("zcat $filename", $output)

解压缩 .Z 类型文件,但不幸的是我的托管公司现已禁用此功能。

有解决方法吗?

$pathtofile = "filename.lis.Z";
exec("zcat $pathtofile", $output);

Currently I am using:

exec("zcat $filename", $output)

To uncompress a .Z type file but unfortunately my hosting company has now disabled this function.

Is there a workaround?

$pathtofile = "filename.lis.Z";
exec("zcat $pathtofile", $output);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

汐鸠 2024-12-13 13:17:09

这样做

echo ini_get("disable_functions");

是为了了解您是否能够使用以下其中一项:

system();
exec();
passthru();
shell_exec();

但如果它是共享主机,上述所有内容肯定会被阻止,您将不得不找到替代方案

do this

echo ini_get("disable_functions");

to know if you are able to use one of the following:

system();
exec();
passthru();
shell_exec();

but if it's a shared hosting all the above are for sure blocked and you will have to find an alternative

南渊 2024-12-13 13:17:09

.Z 文件是LZW 压缩。如果您无法在主机上运行 shell 命令,则可以使用 LZW PHP 库。这里有两个:

.Z files are LZW compression. If you can't run shell commands on your host, you can use an LZW PHP library. Here are two:

南笙 2024-12-13 13:17:09
system($shell_command, $response_var);

所以在你的情况下:

system("zcat $filename", $output);
system($shell_command, $response_var);

So in your case:

system("zcat $filename", $output);
转身泪倾城 2024-12-13 13:17:09

就我而言,禁用的命令是

dl
sh2_exec
diskfreespace
disk_free_space
disk_total_space
escapeshellarg
escapeshellcmd
exec
highlight_file
link
lchgrp
lchown
passthru
pclose
popen
proc_close
proc_get_status
proc_nice
proc_open
proc_terminate
set_time_limit
shell_exec
show_source
symlink
system
mail
sendmail

因此,如果其中一个命令没有在您这边被阻止,您可能会找到一种执行命令的方法。

In my case, disabled commands are

dl
sh2_exec
diskfreespace
disk_free_space
disk_total_space
escapeshellarg
escapeshellcmd
exec
highlight_file
link
lchgrp
lchown
passthru
pclose
popen
proc_close
proc_get_status
proc_nice
proc_open
proc_terminate
set_time_limit
shell_exec
show_source
symlink
system
mail
sendmail

So if one of those commands not blocked in your side, you may find a way to execute command.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文