Zip uitpakken op server 
                    
                    Auteur: zwobbel Maarten  
                    
                        
		
		
		 Met deze functie kan je bestanden met de extensie zip automatisch laten uitpakken op de server. Ik gebruik deze voor mijn adminpaneel bij het gastenboek.
ZOdat ik via het paneel de zipfile met afbeeldingen kan uploaden en dan zijn de foto's meteen actief ... en iedereen kan nu foto's toevoege in 1 packet zonder dat ik hun ftp acces moet geven.
OPGELET:
De file waar de functie in staat en de zip file moet CHMOD 7777 zijn.
 
                     
                     
                
                
                    
                    Code:  
                    
                    
                    
    
    
        
            
                
<?
//De functie 
function unpackZip($dir,$file) {
   if ($zip = zip_open($dir.$file.".zip")) {
     if ($zip) {
       mkdir($dir.$file);
       while ($zip_entry = zip_read($zip)) {
         if (zip_entry_open($zip,$zip_entry,"r")) {
           $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
           $dir_name = dirname(zip_entry_name($zip_entry));
           if ($dir_name != ".") {
             $dir_op = $dir.$file."/";
               foreach ( explode("/",$dir_name) as $k) {
                 $dir_op = $dir_op . $k;
                 if (is_file($dir_op)) unlink($dir_op);
                 if (!is_dir($dir_op)) mkdir($dir_op);
                 $dir_op = $dir_op . "/" ;
                 }
               }
           $fp=fopen($dir.$file."/".zip_entry_name($zip_entry),"w");
           fwrite($fp,$buf);
           zip_entry_close($zip_entry);
       } else
           return false;
       }
       zip_close($zip);
     }
  } else
     return false;
  return true;
}
// Hoe gebruik ik het script:
$plaats  = "bestanden/files/"; //De plaats waar de bestanden staan OPGELET: Eindigen met een slash!
$naam   = "afbeeldingen"; // Zonder .zip deze word automatisch geplaatst!
unpackZip($plaats,$naam);
?>
 
             
            <? 
//De functie  
function  unpackZip( $dir , $file )  { 
   if  ( $zip  =  zip_open( $dir . $file . ".zip" ) )  { 
     if  ( $zip )  { 
       while  ( $zip_entry  =  zip_read( $zip ) )  { 
         if  ( zip_entry_open( $zip , $zip_entry , "r" ) )  { 
           $buf  =  zip_entry_read( $zip_entry ,  zip_entry_filesize( $zip_entry ) ) ; 
           $dir_name  =  dirname ( zip_entry_name
( $zip_entry ) ) ;             if  ( $dir_name  !=  "." )  { 
             $dir_op  =  $dir . $file . "/" ; 
               foreach  (  explode ( "/" , $dir_name )  as  $k )  {                   $dir_op  =  $dir_op  .  $k ; 
                 $dir_op  =  $dir_op  .  "/"  ; 
                 } 
               } 
           $fp = fopen ( $dir . $file . "/" . zip_entry_name
( $zip_entry ) , "w" ) ;             zip_entry_close( $zip_entry ) ; 
       }  else 
           return  false ; 
       } 
       zip_close( $zip ) ; 
     } 
  }  else 
     return  false ; 
 
  return  true ; 
} 
 
// Hoe gebruik ik het script: 
$plaats   =  "bestanden/files/" ;  //De plaats waar de bestanden staan OPGELET: Eindigen met een slash! 
$naam    =  "afbeeldingen" ;  // Zonder .zip deze word automatisch geplaatst! 
unpackZip( $plaats , $naam ) ; 
?> 
 
         
     
  Download code (.txt) 
                     
                     
                
                
            
            
                    
 
            
                
                Stemmen  
                
                Niet ingelogd.