Vra

Ek gebruik die ezcomponents argief komponent om opgelaaide lêers wat word opgelaai na my webwerf te onttrek. Die onttrekking van deel is baie maklik, maar hoe kan ek spesifiek die regterkant regte toeken aan diegene lêers wat onttrek?

http://ezcomponents.org/docs/tutorials/Archive#usage

$extract_dir = 'some existing directory';
$archive = ezcArchive::open($file, ezcArchive::ZIP);

while( $archive->valid() )
{
    if ( is_dir($extract_dir) === false )
    {
        @mkdir($extract_dir, 0777);
    }

    // Extract the current archive entry to /data/<issue_id>/
    $archive->extractCurrent($extract_dir);

    $archive->next();

}

Groete

Was dit nuttig?

Oplossing

Doen 'n rekursiewe chmod in die gids voldoende. (Gebruik hierdie, as jy nie 'n gebou in funksionaliteit in ezcomponents)

<?php
function chmodr($path, $filemode) {
    if (!is_dir($path))
        return chmod($path, $filemode);

    $dh = opendir($path);
    while (($file = readdir($dh)) !== false) {
        if($file != '.' && $file != '..') {
            $fullpath = $path.'/'.$file;
            if(is_link($fullpath))
                return FALSE;
            elseif(!is_dir($fullpath) && !chmod($fullpath, $filemode))
                    return FALSE;
            elseif(!chmodr($fullpath, $filemode))
                return FALSE;
        }
    }

    closedir($dh);

    if(chmod($path, $filemode))
        return TRUE;
    else
        return FALSE;
}
?>

Ander wenke

Jy kan 'n terugbel gebruik vir elke Uitgepakte lêer / gids, ten einde die verlangde regte instel. Jy gee die callback deur die ezcArchiveOptions .

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top