Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Extensions > ZipLib в PHP. Баги при распаковке


Автор: Sheff 17.3.2006, 09:41
Господа, есть код:
Код

a(); 
    
 function a() 
 { 
    if ($zip = zip_open($_FILES['myfile']['tmp_name'])) 
    { 
        if ($zip) 
        { 
            while ($zip_entry = zip_read($zip)) 
            { 
                if (zip_entry_open($zip,$zip_entry,"r")) 
                { 
                    $e_name = zip_entry_name($zip_entry); 
                    $dir_name = dirname(zip_entry_name($zip_entry)); 
                    if ( ($dir_name == ".") && ($e_name[strlen($e_name)-1] != '/') ) 
                    { 
                        $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)); 
                        echo $buf; 
                    } 
                    zip_entry_close($zip_entry); 
                } 
                else 
                    return false; 
            } 
            zip_close($zip); 
        } 
    } 
    else 
        return false; 
    return true; 
 } 

Всё что нужно это выгрузить из архива файлы, лежащие в корне. Все вроде бы нормально, но файлы выружаются только до первого символа '\0'. Т.e строка "echo $buf;" выводит только несколько первых байт из файла, т.е файл читается некорректно. У меня на домашнем сервере всё пашет как надо, а на удалённом вот такая вот фигня. Может кто-нибудь с таким уже сталкивался, помогите плиз.

Автор: xolod 19.3.2006, 16:02
Есть подозрение, что echo видит \0, как и любая другая обертка для функции с++ работы с буфером вывода как конец этого вывода.
Попробуй заменить echo на запись в файл.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)