예제 #1
0
파일: _action.php 프로젝트: sziszu/pefi
/** change some non ASCII characters arriving in the zip file */
function change_strings($file)
{
    $lines = file($file);
    $data = '';
    foreach ($lines as $line) {
        $data .= m_str_replace($line, array('<br>' => '<br />', '’' => "'", '–' => '-', '‘' => "'", '“' => '"', '”' => '"'));
    }
    return $data;
}
예제 #2
0
파일: util.php 프로젝트: sziszu/pefi
function Zip($sources, $destination)
{
    @unlink($destination);
    if (extension_loaded('zip') === true) {
        $zip = new ZipArchive();
        if ($zip->open($destination, ZIPARCHIVE::CREATE) === true) {
            foreach ($sources as $source) {
                if (is_dir($source) === true && $source != '.' && $source != '..') {
                    $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::LEAVES_ONLY);
                    foreach ($files as $file) {
                        $out = m_str_replace($file, array("\\" => "/"));
                        if ($source === '_cache') {
                            $out = m_str_replace($out, array($source . '/' => ''));
                        }
                        if (is_dir($file) === true) {
                            $zip->addEmptyDir($out);
                        } elseif (is_file($file) === true) {
                            $contents = '';
                            foreach (file($file) as $line) {
                                $contents .= $line;
                            }
                            $zip->addFromString($out, $contents);
                        }
                    }
                } elseif (is_file($source) === true) {
                    $contents = '';
                    foreach (file($source) as $line) {
                        $contents .= $line;
                    }
                    $zip->addFromString(basename($source), $contents);
                }
            }
        }
        return $zip->close();
    } else {
        die('Zip extension not Loaded!');
    }
    return false;
}