PHP entrará

Empaquete el programa en línea, cargue este archivo en el directorio que necesita descargar, luego ejecute el programa, empaquetelo y luego descárguelo, ¿no es el código fuente?

$contraseña = "19820129"

$c_len = strlen($zdata);

$zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2 );

// Formato de contenido de archivo recién agregado:

$datastr = "\x50\x4b\x03\x04";

$datastr .= "\x14\x00"; // ver necesario para extraer

$datastr .= "\x00\x00" // indicador de bit de propósito de generación

$datastr .= "\x08\x00"; // Método de compresión

$datastr .= $hexdtime // Fecha y hora de la última modificación

$datastr .= pack( ' V', $crc); // crc32

$datastr .= pack('V', $c_len); // Tamaño del archivo comprimido

$datastr .= pack( ' V', $unc_len); // Tamaño del archivo sin comprimir

$datastr .= pack('v', strlen($name)); // Longitud del nombre del archivo

$datastr .= pack('v', 0); // Longitud de los campos adicionales

$datastr .= $name;

$datastr .= $zdata;

$datastr .= pack('V', $crc); // crc32

$datastr .= pack('V', $c_len); // Tamaño del archivo comprimido

$datastr .= pack('V', $unc_len); // Tamaño del archivo sin comprimir

fwrite($this->fp,$datastr); // Escribir nuevo contenido del archivo

$my_datastr_len = strlen($datastr);

unset($datastr);

//nueva información del directorio de archivos

$ dirstr = "\x50\x4b\x01\x02";

$dirstr .= "\x00\x00"; // versión hecha por

$dirstr = "\x14. \x00"; // versión necesaria para extraer

$dirstr .= "\x00\x00"; // indicador de bit de propósito de generación

$dirstr .= " \x08\x00 "; // Método de compresión

$dirstr .= $hexdtime; // Último mes

d hora y fecha

$dirstr .= pack('V', $crc); // crc32

$dirstr .= pack('V', $c_len); / Tamaño del archivo comprimido

$dirstr .= pack('V', $unc_len); // Tamaño del archivo sin comprimir

$dirstr .= pack('v', strlen( $ name) ); // La longitud del nombre del archivo

$dirstr .= pack('v', 0 ); // La longitud de los campos adicionales

$dirstr . = pack('v', 0 ); // Longitud del comentario del archivo

$dirstr .= pack('v', 0 ); // Inicio del número de disco

$dirstr .= pack('v', 0 ); // Propiedades del archivo interno

$dirstr .= pack('V', 32 ); // Propiedades del archivo externo - establecer el bit 'archivo'

$ dirstr .= pack('V',$this->datastr_len ); // Desplazamiento relativo del encabezado del archivo local

$dirstr .= $nombre;

$this- >dirstr .= $dirstr; // Información del directorio

$this -> file_count ++;

$this -> dirstr_len += strlen($dirstr);

$this -> datastr_len += $my_ datastr_len

}

function adddir($name){

$name = str_replace; ("\ \", "/", $nombre);

$datastr = "\x50\x4b\x03\x04\x00 x00\x00\x00\x00"; > $datastr .= pack("V",0).pack("V",0).pack("V",0).pack("v", strlen($nombre)

$ datastr .= paquete("V", 0 ).$nombre.paquete("V", 0).paquete("V", 0).paquete("V", 0).paquete("V" , 0) ;

fwrite($this->fp,$datastr); //escribe el contenido del nuevo archivo

$my_datastr_len = strlen($datastr);

unset($datastr);

$dirstr = "\x50\x4b\x01\x02\x00\x00\x00\x00\x00\x00\x00\x00 ";

$dirstr .= pack("V",0).pack("V",0).pack("V",0).pack("v", strlen($nombre ) );

$dirstr .= paquete("V", 0 ).paquete("V", 0 ).paquete("V", 0 ).paquete("V", 0 );

$dirstr .= pack("V", 16 ).pack("V",$this->datastr_len).$name

$this->;

dirstr .= $dirstr; // Información del directorio

$this -> file_count ++;

$this -> dirstr_len += strlen($dirstr);

$this -> datastr_len += $my_ x00" .

pack('v', $this -> file_count) .

pack('v', $this - > file_count) .

pack('v', $this -> dirstr_len) .

pack('V', $this -> datastr_len) .

"\x00\x00";

fwrite($this -> fp,$this -> dirstr.$endstr);

fclose($this -> fp);

}

}

if(!trim ($_REQUEST[zipname])) $_REQUEST[zipname] = "shenbin.zip" else $_REQUEST[ zipname] = trim($_REQUEST[zipname]);

if(! strrchr( strtolower($_REQUEST[zipname]),'.') == '.zip') $_REQUEST[zipname] . = ".zip";

$_REQUEST[todir] = str_replace('\/','/',trim($_REQUEST[todir]));

if(! strrchr(strtolower($_REQUEST[todir]),'/')= = '/') $_REQUEST[todir] .= "/"

if($_REQUEST[todir]=="/ ") $_REQUEST[todir] = "./";

función listfiles($dir=".") {

global $faisunZIP;

$ sub_file_num = 0;

if(is_file("$dir")){

if(realpath($faisunZIP ->gzfilename)! =rutareal("$dir")){

$faisunZIP -> addfile(implode('',file("$dir")),"$dir");

Devuelve 1;

}

Devuelve 0;

}

$handle=opendir("$dir");

while ($file = readdir($handle)) {

if($file=="."||$file=="...") continuar;

if(is_dir("$dir/$archivo")){

$sub_file_num += listfiles("$dir/$archivo");

}

else {

if(realpath($ faisunZIP ->gzfilename)!=realpath("$dir/$file")){

$

faisunZIP -> addfile(implode('',file("$dir/$file")),"$dir/$file");

$sub_file_num ++;

}

}

}

closedir($handle);

if(!$sub_file_num) $faisunZIP -> addfile(" ","$dir/");

return $sub_file_num;

}

función num_bitunit($num){

$ bitunit=array(' B',' KB',' MB',' GB');

for($key=0;$key

if($num>=pow(2,10*$key)-1){ /1023B se mostrará como 1 KB

$num_bitunit_str=(ceil($num/pow(2 , 10*$clave)*100)/100). "$bitunit[$key]";

}

}

devuelve $num_bitunit_str;

}

if(is_array($_REQUEST[dfile])){

$faisunZIP = nuevo PHPzip;

if($faisunZIP -> startfile("$_REQUEST[todir]$_REQUEST[ zipname]")){

echo "Agregando archivo zip...

";

$filenum = 0;

foreach( $_REQUEST[dfile] as $file){

if(is_file($file)){

echo "Archivo: $file<.br>";

}else{

echo "Directorio: $archivo
";

}

$filenum += listfiles($archivo);

}

$faisunZIP -> createfile();

echo "
Compresión completa,*** agregando archivos $filenum.
$_REQUEST[directorio]$_REQUEST[nombre comprimido] (".num_bitunit(filesize("$_REQUEST[directorio]$_REQUEST[nombre comprimido]")."). ") ";

}else{

echo "$_REQUEST[todir]$_REQUEST[zipname] no se puede escribir, verifique si la ruta o los permisos son correctos . ";

}

}else{

echo "No se ha seleccionado ningún archivo o directorio.