Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/08/2006, 11:04
phpman
 
Fecha de Ingreso: julio-2005
Ubicación: España
Mensajes: 91
Antigüedad: 18 años, 9 meses
Puntos: 0
¿Porque me da este error?

Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in c:\appserv\www\createZip.inc.php on line 11

Código PHP:
<?php

/**
 * Class to dynamically create a zip file (archive)
 *
 * @author Rochak Chauhan
 */

class createZip  {  

    public 
$compressedData = array(); //LINEA 11
    
public $centralDirectory = array(); // central directory   
    
public $endOfCentralDirectory "\x50\x4b\x05\x06\x00\x00\x00\x00"//end of Central directory record
    
public $oldOffset 0;

    
/**
     * Function to create the directory where the file(s) will be unzipped
     *
     * @param $directoryName string 
     *
     */
    
    
public function addDirectory($directoryName) {
        
$directoryName str_replace("\\""/"$directoryName);  

        
$feedArrayRow "\x50\x4b\x03\x04";
        
$feedArrayRow .= "\x0a\x00";    
        
$feedArrayRow .= "\x00\x00";    
        
$feedArrayRow .= "\x00\x00";    
        
$feedArrayRow .= "\x00\x00\x00\x00"

        
$feedArrayRow .= pack("V",0); 
        
$feedArrayRow .= pack("V",0); 
        
$feedArrayRow .= pack("V",0); 
        
$feedArrayRow .= pack("v"strlen($directoryName) ); 
        
$feedArrayRow .= pack("v"); 
        
$feedArrayRow .= $directoryName;  

        
$feedArrayRow .= pack("V",0); 
        
$feedArrayRow .= pack("V",0); 
        
$feedArrayRow .= pack("V",0); 

        
$this -> compressedData[] = $feedArrayRow;
        
        
$newOffset strlen(implode(""$this->compressedData));

        
$addCentralRecord "\x50\x4b\x01\x02";
        
$addCentralRecord .="\x00\x00";    
        
$addCentralRecord .="\x0a\x00";    
        
$addCentralRecord .="\x00\x00";    
        
$addCentralRecord .="\x00\x00";    
        
$addCentralRecord .="\x00\x00\x00\x00"
        
$addCentralRecord .= pack("V",0); 
        
$addCentralRecord .= pack("V",0); 
        
$addCentralRecord .= pack("V",0); 
        
$addCentralRecord .= pack("v"strlen($directoryName) ); 
        
$addCentralRecord .= pack("v"); 
        
$addCentralRecord .= pack("v"); 
        
$addCentralRecord .= pack("v"); 
        
$addCentralRecord .= pack("v"); 
        
$ext "\x00\x00\x10\x00";
        
$ext "\xff\xff\xff\xff";  
        
$addCentralRecord .= pack("V"16 ); 

        
$addCentralRecord .= pack("V"$this -> oldOffset ); 
        
$this -> oldOffset $newOffset;

        
$addCentralRecord .= $directoryName;  

        
$this -> centralDirectory[] = $addCentralRecord;  
    }     
    
    
/**
     * Function to add file(s) to the specified directory in the archive 
     *
     * @param $directoryName string 
     *
     */
    
    
public function addFile($data$directoryName)   {
 
        
$directoryName str_replace("\\""/"$directoryName);  
    
        
$feedArrayRow "\x50\x4b\x03\x04";
        
$feedArrayRow .= "\x14\x00";    
        
$feedArrayRow .= "\x00\x00";    
        
$feedArrayRow .= "\x08\x00";    
        
$feedArrayRow .= "\x00\x00\x00\x00"

        
$uncompressedLength strlen($data);  
        
$compression crc32($data);  
        
$gzCompressedData gzcompress($data);  
        
$gzCompressedData substrsubstr($gzCompressedData0strlen($gzCompressedData) - 4), 2); 
        
$compressedLength strlen($gzCompressedData);  
        
$feedArrayRow .= pack("V",$compression); 
        
$feedArrayRow .= pack("V",$compressedLength); 
        
$feedArrayRow .= pack("V",$uncompressedLength); 
        
$feedArrayRow .= pack("v"strlen($directoryName) ); 
        
$feedArrayRow .= pack("v"); 
        
$feedArrayRow .= $directoryName;  

        
$feedArrayRow .= $gzCompressedData;  

        
$feedArrayRow .= pack("V",$compression); 
        
$feedArrayRow .= pack("V",$compressedLength); 
        
$feedArrayRow .= pack("V",$uncompressedLength); 

        
$this -> compressedData[] = $feedArrayRow;

        
$newOffset strlen(implode(""$this->compressedData));

        
$addCentralRecord "\x50\x4b\x01\x02";
        
$addCentralRecord .="\x00\x00";    
        
$addCentralRecord .="\x14\x00";    
        
$addCentralRecord .="\x00\x00";    
        
$addCentralRecord .="\x08\x00";    
        
$addCentralRecord .="\x00\x00\x00\x00"
        
$addCentralRecord .= pack("V",$compression); 
        
$addCentralRecord .= pack("V",$compressedLength); 
        
$addCentralRecord .= pack("V",$uncompressedLength); 
        
$addCentralRecord .= pack("v"strlen($directoryName) ); 
        
$addCentralRecord .= pack("v");
        
$addCentralRecord .= pack("v");
        
$addCentralRecord .= pack("v");
        
$addCentralRecord .= pack("v");
        
$addCentralRecord .= pack("V"32 ); 

        
$addCentralRecord .= pack("V"$this -> oldOffset ); 
        
$this -> oldOffset $newOffset;

        
$addCentralRecord .= $directoryName;  

        
$this -> centralDirectory[] = $addCentralRecord;  
    }

    
/**
     * Fucntion to return the zip file
     *
     * @return zipfile (archive)
     */

    
public function getZippedfile() { 

        
$data implode(""$this -> compressedData);  
        
$controlDirectory implode(""$this -> centralDirectory);  

        return   
            
$data.  
            
$controlDirectory.  
            
$this -> endOfCentralDirectory.  
            
pack("v"sizeof($this -> centralDirectory)).     
            
pack("v"sizeof($this -> centralDirectory)).     
            
pack("V"strlen($controlDirectory)).             
            
pack("V"strlen($data)).                
            
"\x00\x00";                             
    }

    
/**
     *
     * Function to force the download of the archive as soon as it is created
     *
     * @param archiveName string - name of the created archive file
     */

    
public function forceDownload($archiveName) {
        
$headerInfo '';
         
        if(
ini_get('zlib.output_compression')) {
            
ini_set('zlib.output_compression''Off');
        }

        
// Security checks
        
if( $archiveName == "" ) {
            echo 
"<html><title>Public Photo Directory - Download </title><body><BR><B>ERROR:</B> The download file was NOT SPECIFIED.</body></html>";
            exit;
        } 
        elseif ( ! 
file_exists$archiveName ) ) {
            echo 
"<html><title>Public Photo Directory - Download </title><body><BR><B>ERROR:</B> File not found.</body></html>";
            exit;
        }

        
header("Pragma: public");
        
header("Expires: 0");
        
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
        
header("Cache-Control: private",false);
        
header("Content-Type: application/zip");
        
header("Content-Disposition: attachment; filename=".basename($archiveName).";" );
        
header("Content-Transfer-Encoding: binary");
        
header("Content-Length: ".filesize($archiveName));
        
readfile("$archiveName");
        
     }

}
?>