使用 php 提取 rar 文件失败并发出警告


Extract rar file with php failed with warning

我只是安装了php rar扩展,并使用下面的示例对其进行了测试 http://www.php.net/manual/en/rar.examples.php

但是失败了,

文件名被打印出来了,但是没有文件被外接,我看到警告:~

警告: RarEntry::extract() [rarentry.extract]: ERAR_ECREATE in

<?php
$rar_file = rar_open('example.rar') or die("Can't open Rar archive");
$entries = rar_list($rar_file);
foreach ($entries as $entry) {
    echo 'Filename: ' . $entry->getName() . "'n";
    $entry->extract('/dir/extract/to/');
}
rar_close($rar_file);
?>

我通过谷歌搜索了一段时间,但没有运气。出了什么问题?谢谢!

我已经自己解决了。

这是由于目标文件夹权限,我给了文件夹 777,然后 它有效。

这个答案最初是由作者编辑发布的

我已经自己解决了。 这是由于目标文件夹权限,我给了文件夹777,然后它可以工作。

请不要授予该文件夹 777 权限。而是更改运行 php 命令的用户的文件夹所有者。就我而言,该目录归root所有,php 在 apache 服务器的用户上运行。我所做的是:

chown user:user my_directory