Hoe stel ek die regte van die lêers Ek onttrek met ezcArchive - ezComponents
-
26-09-2019 - |
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
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