带有zip的fopen将无法使用php 7

时间:2018-01-15 10:24:13

标签: php zip fopen

我现在正在尝试修复我的PHP功能。由于某种原因,它不再能读取.zip文件。它发生在我改变我的Linux服务器之后。在我有PHP 5.6之前,我有PHP PHP版本7.0.22-0ubuntu0.16.04.1。是否需要一些特殊的php库?

这是我的代码,但我不认为它之前有问题,因为它之前有效:

    /*
    Get donwloaded version
*/
$downloadVersion        =   "Unknown";

$fileData = function() {
    $file = fopen('zip://interface.zip#php/functions/functions.php', 'r');
    if (!$file)
    {
        die('Can not read zip file! Please be sure, that we have in this folder the interface.zip file!');
    };

    while (($line = fgets($file)) !== false)
    {
        yield $line;
    };
};

foreach ($fileData() as $line) {
    if(strpos($line, "define(\"INTERFACE_VERSION\"") !== false)
    {
        $lineparts          =   explode("\"", $line);
        $downloadVersion    =   $lineparts[3];
    };
};

BTW interface.zip文件存在我也用php file_exists函数检查了它。路径和文件functions.php也退出。有人有想法吗?如果我尝试打开页面,它会说:

  

无法读取zip文件!请确保,我们在此文件夹中有interface.zip文件!

1 个答案:

答案 0 :(得分:0)

我试过后发现了

  

查看stackoverflow.com/a/9817562/1894905 - 6339

无法加载整个zip存档。我跑完后

  

apt-get install php7.0-zip

进入shell后,安装了所需的libary并运行。

感谢您的信息!