本文整理汇总了PHP中uncompress函数的典型用法代码示例。如果您正苦于以下问题:PHP uncompress函数的具体用法?PHP uncompress怎么用?PHP uncompress使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了uncompress函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getInfo
function getInfo($path, $offset, $length)
{
$retult = uncompress($path);
return substr($retult, $offset, $length);
}
示例2: uncompress_file
function uncompress_file()
{
$tpl = new templates();
@chmod("ressources/logs", 0777);
$ID = $_GET["uncompress"];
if (!is_numeric($ID)) {
die;
}
$t = $_GET["t"];
$sock = new sockets();
$q = new mysql_squid_builder();
$mydir = dirname(__FILE__);
$ligne = mysql_fetch_array($q->QUERY_SQL("SELECT filename,fileext FROM squid_storelogs WHERE ID = '{$ID}'"));
$filename = $ligne["filename"];
$ttr = explode(".", $ligne["filename"]);
$uncompressedfile = "ressources/logs/{$ttr[0]}.{$ligne["fileext"]}";
$filepath = "{$mydir}/ressources/logs/{$filename}";
writelogs("uncompress filename ID:{$_GET["uncompress"]}", __FUNCTION__, __FILE__, __LINE__);
$sql = "SELECT filecontent INTO DUMPFILE '{$filepath}' FROM squid_storelogs WHERE ID = '{$ID}'";
$ligne = mysql_fetch_array($q->QUERY_SQL("{$sql}"));
if (!$q->ok) {
echo $tpl->_ENGINE_parse_body("<H1 style='color:#d32d2d;background:none'>{failed} {$q->mysql_error}</H1>");
}
if (!uncompress($filepath, $uncompressedfile)) {
@unlink($filepath);
echo $tpl->_ENGINE_parse_body("<H1 style='color:#d32d2d;background:none'>{failed}</H1>");
return;
}
@unlink($filepath);
echo "<script>UnCompressCheck{$t}(1)</script>";
}
示例3: usersMenus
include_once('ressources/class.templates.inc');
include_once('ressources/class.ldap.inc');
include_once('ressources/class.users.menus.inc');
include_once('ressources/class.squid.inc');
$usersmenus=new usersMenus();
if(!$usersmenus->AsSquidAdministrator){
$tpl=new templates();
$alert=$tpl->_ENGINE_parse_body('{ERROR_NO_PRIVS}');
echo "alert('$alert');";
die();
}
if( isset($_GET['TargetArticaUploaded']) ){upload_artica_perform();exit();}
if(isset($_GET["file-uploader-demo1"])){upload_artica_final();exit;}
if(isset($_GET["uncompress"])){uncompress();exit;}
if(isset($_GET["remove"])){remove();exit;}
if(isset($_GET["tabs"])){tabs();exit;}
if(isset($_GET["popup"])){popup();exit;}
if(isset($_GET["manu"])){manu();exit;}
if(isset($_GET["compile-list"])){squid_compile_list();exit;}
js();
function js(){
$page=CurrentPageName();
$tpl=new templates();
header("content-type: application/x-javascript");
$title=$tpl->_ENGINE_parse_body("{compilation_status}");
$html="YahooWin4('585','$page?tabs=yes','$title');";
示例4: manual_update
die;
}
if (isset($_GET["manual-update"])) {
manual_update();
exit;
}
if (isset($_GET['TargetArticaUploaded'])) {
upload_artica_perform();
exit;
}
if (isset($_GET["file-uploader-demo1"])) {
upload_artica_final();
exit;
}
if (isset($_GET["uncompress"])) {
uncompress();
exit;
}
if (isset($_GET["remove"])) {
remove();
exit;
}
js();
function js()
{
header("content-type: application/x-javascript");
$tpl = new templates();
$page = CurrentPageName();
$title = $tpl->javascript_parse_text("{upload_a_pdf_file}");
echo "YahooWinBrowse('700','{$page}?manual-update=yes&ID={$_GET["ID"]}','{$title}',true)";
}
示例5: import
function import(){
echo "Starting......: [DOWNLOAD]:: Artica database community Importing categories\n";
$sock=new sockets();
$unix=new unix();
$FilterCommunityMD5=unserialize(base64_decode($sock->GET_INFO("FilterCommunityMD5")));
$TmpfileDataMD5=$unix->FILE_TEMP();
$t1=time();
$q=new mysql();
$rownum=$q->COUNT_ROWS("dansguardian_community_categories","artica_backup");
echo "Starting......: [DOWNLOAD]:: Artica database community (current $rownum rows)\n";
$fp = fopen ($TmpfileDataMD5, 'w+');//This is the file where we save the information
$ch = curl_init('http://www.artica.fr/tmp/open-webfilter.gz.md5');//Here is the file we are downloading
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec($ch);
curl_close($ch);
fclose($fp);
$remotemd5=unserialize(base64_decode(@file_get_contents($TmpfileDataMD5)));
for($i=0;$i<count($remotemd5)+1;$i++){
$tmpfile=$unix->FILE_TEMP().".$i.gz";
$d1=trim($FilterCommunityMD5["open-webfilter2.$i.gz"]);
$d2=trim($remotemd5["open-webfilter2.$i.gz"]);
if($d2==null){
echo "Starting......: [DOWNLOAD]:: [$i] open-webfilter2.$i.gz MD5 is null aborting\n";
continue;
}
if($rownum>0){
echo "Starting......: [DOWNLOAD]:: [$i] Artica database open-webfilter2.$i.gz [$d1] [$d2]\n";
if($d1==$d2){
echo "Starting......: [DOWNLOAD]:: [$i] Artica database open-webfilter2.$i.gz (unchanged)\n";
continue;
}
}
$fp = fopen ($tmpfile, 'w+');//This is the file where we save the information
echo "Starting......: [DOWNLOAD]:: Artica database downloading file N.$i....\n";
$ch = curl_init("http://www.artica.fr/tmp/open-webfilter2.$i.gz");//Here is the file we are downloading
WriteMyLogs("http://www.artica.fr/tmp/open-webfilter2.$i.gz d1:$d1 d2:$d2",__FUNCTION__,__FILE__,__LINE__);
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec($ch);
curl_close($ch);
fclose($fp);
$size=filesize($tmpfile)/1024;
WriteMyLogs("[$i] Artica database community uncompress database ($size)Ko",__FUNCTION__,__FILE__,__LINE__);
echo "Starting......: [DOWNLOAD]:: [$i] Artica database community uncompress database ($size)Ko\n";
uncompress($tmpfile,"/tmp/FilterCommunity.$i.sql");
@unlink($tmpfile);
if(!is_file("/tmp/FilterCommunity.$i.sql")){
echo "Starting......: [DOWNLOAD]:: [$i] Unable to stat /tmp/FilterCommunity.$i.sql aborting\n";
continue;
}
if(filesize("/tmp/FilterCommunity.$i.sql")<600){
WriteMyLogs("FilterCommunity.$i.sql <600 aborting",__FUNCTION__,__FILE__,__LINE__);
continue;
}
$GLOBALS["NEWFILES"][]=basename($tmpfile)." -> ". round($size/1000)." Mo";
echo "Starting......: [DOWNLOAD]:: [$i] Artica database community file $i ". filesize("/tmp/FilterCommunity.$i.sql") ." bytes\n";
if(ParseGzSqlFile("/tmp/FilterCommunity.$i.sql")){
$NewFilterCommunityMD5["open-webfilter2.$i.gz"]=$d2;
$sock->SET_INFO("FilterCommunityMD5",base64_encode(serialize($NewFilterCommunityMD5)));
}else{
WriteMyLogs("/tmp/FilterCommunity.$i.gz failed to extract... ",__FUNCTION__,__FILE__,__LINE__);
}
}
$newrownum=$q->COUNT_ROWS("dansguardian_community_categories","artica_backup");
echo "Starting......: Artica database community (now is $newrownum rows)\n";
WriteMyLogs("Artica database community (now is $newrownum rows)",__FUNCTION__,__FILE__,__LINE__);
$sock->SET_INFO("FilterCommunityMD5",base64_encode(serialize($NewFilterCommunityMD5)));
$t2=time();
$final_rows=$newrownum-$rownum;
if($final_rows>0){
$time_duration=distanceOfTimeInWords($t1,$t2);
$unix->send_email_events("Web $final_rows categorized websites $time_duration", @implode("\n",$GLOBALS["NEWFILES"]),"proxy");
$q=new mysql();
$q->QUERY_SQL("OPTIMIZE table dansguardian_community_categories","artica_backup");
}
WriteCategoriesStatus(true);
$unix->THREAD_COMMAND_SET("/usr/share/artica-postfix/bin/artica-update --squidguard");
//.........这里部分代码省略.........
示例6: compute
/**
* Computes datas for all subPeriodValues values
* and saves it in a new row in the database table archives
*
* @return void
*/
function compute()
{
if (CURRENT_PERIOD_SIMPLE_ARCHIVE && $this->state === DB_ARCHIVES_TEMP) {
$this->toRecord['simple'] = 1;
} else {
$this->toRecord['simple'] = 0;
}
// date in the IN(...) SQL field for unique visitors
$inIdArchives = '';
$this->toRecord['vis_pag_grp'] = array();
// init
$toInitInt = $this->intValuesToSum;
$toInitArray = array_merge($this->arrayOneDimToSum, $this->arrayPmvSumToSum, $this->arrayIntToSum);
foreach ($toInitInt as $value) {
$this->toRecord[$value] = 0;
}
foreach ($toInitArray as $value) {
$this->toRecord[$value] = array();
}
// for each subPeriod, sum all values
foreach ($this->subPeriodValues as $idArchives => $subPeriodValues) {
foreach ($this->intValuesToSum as $name) {
$this->toRecord[$name] += $subPeriodValues[$name];
}
// case we don't want a SIMPLE archiving
if ($this->toRecord['simple'] == 0) {
//printDebug("Sum2 : <br>");
foreach ($this->arrayOneDimToSum as $name) {
if (!isset($subPeriodValues[$name])) {
$subPeriodValues[$name] = compress(serialize(array()), $subPeriodValues['compressed']);
}
$this->toRecord[$name] = getArrayOneDimVeryVeryVerySpecialSum($this->toRecord[$name], unserialize(uncompress($subPeriodValues[$name], $subPeriodValues['compressed'])), "sum");
}
//printDebug("Sum3 : <br>");
foreach ($this->arrayPmvSumToSum as $name) {
if (!isset($subPeriodValues[$name])) {
$subPeriodValues[$name] = compress(serialize(array()), $subPeriodValues['compressed']);
}
$this->toRecord[$name] = getArrayOneDimVeryVeryVerySpecialSum($this->toRecord[$name], unserialize(uncompress($subPeriodValues[$name], $subPeriodValues['compressed'])), "sumArray");
}
//printDebug("Sum4 : <br>");
foreach ($this->arrayIntToSum as $name) {
if (!isset($subPeriodValues[$name])) {
$subPeriodValues[$name] = compress(serialize(array()), $subPeriodValues['compressed']);
}
$this->toRecord[$name] = getArrayOneDimVeryVeryVerySpecialSum($this->toRecord[$name], unserialize(uncompress($subPeriodValues[$name], $subPeriodValues['compressed'])), "sumArray");
}
//printDebug("<h1>Sum5 $idArchives: </h1><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>");
//printDebug("table to add");
//printDebug(unserialize($subPeriodValues['vis_pag_grp']));
if (!is_string($subPeriodValues['vis_pag_grp'])) {
$subPeriodValues['vis_pag_grp'] = compress(serialize(array()), $subPeriodValues['compressed']);
}
$this->toRecord['vis_pag_grp'] = getPagGrpArrayMultiDimSum($this->toRecord['vis_pag_grp'], unserialize(uncompress($subPeriodValues['vis_pag_grp'], $subPeriodValues['compressed'])));
}
$inIdArchives .= "'" . $idArchives . "', ";
}
//printDebug($this->toRecord['vis_pag_grp']);
//exit;
/*
* Sorting arrays
*/
$this->sortAndLimitToRecord();
$inIdArchives = substr($inIdArchives, 0, strlen($inIdArchives) - 2);
// if year, look for info averaging month archives
if ($this->periodType === DB_ARCHIVES_PERIOD_YEAR) {
$r = query("SELECT sum(nb_uniq_vis) as nb_uniq_vis, max(nb_max_pag) as nb_max_pag\n\t\t\t\t\tFROM " . T_ARCHIVES . "\n\t\t\t\t\tWHERE idarchives IN (" . $inIdArchives . ")");
// unique visitors returning sum on the period
$nb_uniq_vis_returning = query("SELECT sum(nb_uniq_vis_returning) as nb_uniq_vis_returning\n\t\t\t\t\t\t\t\t\t\t\tFROM " . T_ARCHIVES . "\n\t\t\t\t\t\t\t\t\t\t\tWHERE idarchives IN (" . $inIdArchives . ")");
// returning visitors
$returning = query("SELECT nb_vis_returning as s, idarchives as pseudodate, \n\t\t\t\t\t\t\t\t\tnb_pag_returning as sp, date1 as pseudodate2\n\t\t\t\t\t\tFROM " . T_ARCHIVES . "\n\t\t\t\t\t\tWHERE idsite = " . $this->site->getId() . "\n\t\t\t\t\t\tAND idarchives IN (" . $inIdArchives . ")\n\t\t\t\t\t\tGROUP BY pseudodate\n\t\t\t\t\t\t");
} else {
$r = query("SELECT count(distinct idcookie) as nb_uniq_vis, max(total_pages) as nb_max_pag\n\t\t\t\tFROM " . T_VISIT . "\n\t\t\t\tWHERE idsite = " . $this->site->getId() . "\n\t\t\t\tAND server_date IN (" . $inIdArchives . ")");
// unique visitors returning sum on the period
$nb_uniq_vis_returning = query("SELECT count(distinct idcookie) as nb_uniq_vis_returning\t\n\t\t\t\t\t\t\t\t\t\t\tFROM " . T_VISIT . "\n\t\t\t\t\t\t\t\t\t\t\tWHERE idsite = " . $this->site->getId() . "\n\t\t\t\t\t\t\t\t\t\t\tAND server_date IN (" . $inIdArchives . ")\n\t\t\t\t\t\t\t\t\t\t\tAND returning = 1\n\t\t\t\t \t\t\t\t\t\t\tGROUP BY returning");
// returning visitors
$returning = query("SELECT count(*) as s, server_date as pseudodate, \n\t\t\t\t\t\t\t\t\t\tsum(total_pages) as sp\n\t\t\t\t\t\tFROM " . T_VISIT . "\n\t\t\t\t\t\tWHERE idsite = " . $this->site->getId() . "\n\t\t\t\t\t\tAND server_date IN (" . $inIdArchives . ")\n\t\t\t\t\t\tAND returning = 1\n\t\t\t\t\t\tGROUP BY pseudodate");
// for each returning visit, how many time did they return?
$f1 = query("SELECT count(*) as s\n\t\t\t\t\t\tFROM " . T_VISIT . "\n\t\t\t\t\t\tWHERE idsite = " . $this->site->getId() . "\n\t\t\t\t\t\tAND server_date IN (" . $inIdArchives . ")\n\t\t\t\t\t\tGROUP BY idcookie");
$res = array();
while ($fx = mysql_fetch_assoc($f1)) {
@$res[(int) $fx['s']]++;
}
ksort($res);
$this->toRecord['vis_nb_vis'] = $res;
}
$nb_uniq_vis_returning = mysql_fetch_assoc($nb_uniq_vis_returning);
$this->toRecord['nb_uniq_vis_returning'] = $nb_uniq_vis_returning['nb_uniq_vis_returning'];
$l = mysql_fetch_assoc($r);
$this->toRecord['nb_uniq_vis'] = $l['nb_uniq_vis'];
$this->toRecord['nb_max_pag'] = $l['nb_max_pag'];
// visits per period, new vs returning, and pages hits
$returningTotal = 0;
$returningPag = 0;
//.........这里部分代码省略.........
示例7: uncompress
function uncompress($srcName, $dstName)
{
$string = implode("", gzfile($srcName));
$fp = fopen($dstName, "w");
fwrite($fp, $string, strlen($string));
fclose($fp);
}
$subs_file = file_get_contents("export.txt");
$subs = array();
preg_match_all("/.*[\\n\\r]+/iu", $subs_file, $matches);
foreach ($matches[0] as $line) {
$subtitle = explode("\t", $line);
if (!is_numeric($subtitle[1])) {
continue;
}
uncompress('/home/soshial/subs/opensubtitles/' . $subtitle[1] . '.gz', '/home/soshial/subs/opensubtitles2/' . $subtitle[1] . '.srt');
$sub_text = file_get_contents('/home/soshial/subs/opensubtitles2/' . $subtitle[1] . '.srt');
if (detect_encoding($sub_text) == 'windows-1251') {
$sub_text = strip_tags_smart(iconv('windows-1251', 'UTF-8//IGNORE', $sub_text));
}
// изменяем кодировку на юникод, и вычищаем от тегов
$sub_text = preg_replace('/\\s*\\d+\\r\\n\\d\\d:\\d\\d:\\d\\d,\\d+ --> \\d\\d:\\d\\d:\\d\\d,\\d+/i', '', $sub_text, -1, $count);
// вырезаем временные метки
$sub_text = preg_replace('/\\.{2,}/i', '…', $sub_text, -1, $count);
// заменяем многоточия
/* склеиваем текст */
$sub_text = preg_replace("/([^!…\\?_][a-z0-9а-яё])(\\s)*\\r\\n(\\s)*([…«\"\\-]{0,1}(\\s)*[a-zа-яё]{1,}[^\\)])/u", '$1 $4', $sub_text, -1, $count);
// ориентация на отсутствие препинаний в конце первого параграфа и на строчные в начале второго п.,
// где перед буквами могут находиться кавычки: «" и дефис
// предполагается автоматическое объединение
$sub_text = preg_replace("/([^!…\\?_][a-z0-9А-яё,;—–\\-\\»\\)IVX])(\\s)*\\r\\n(\\s)*([«\\(\\[\"\\-–—=…]{0,1}(\\s)*[a-z0-9а-яё\\?\\!…\"]+[^\\)])/u", '$1 $4', $sub_text, -1, $count);
示例8: import
function import($ou, $path)
{
$usersM = new usersMenus();
$unix = new unix();
if (!is_file($path)) {
echo "{$path}, no such file\n";
die;
}
$ldap = new clladp();
$oudn = "ou={$ou},dc=organizations,{$ldap->suffix}";
if (!$ldap->ExistsDN($oudn)) {
$ldap->AddOrganization($ou);
}
$tmpfile = $unix->FILE_TEMP();
uncompress($path, $tmpfile);
$datas = unserialize(base64_decode(@file_get_contents($tmpfile)));
if (!is_array($datas)) {
if ($GLOBALS["VERBOSE"]) {
echo "Unable to import {$ou} {$path}, no such array\n";
return;
}
$unix->send_email_events(basename(__FILE__) . "::Unable to import {$ou} {$path}, no such array", null, "import");
die;
}
$usersArray = $datas["USERS"];
$groupsArray = $datas["GROUPS"];
unset($datas);
echo "Creating groups in `{$ou}`";
while (list($num, $hash) = each($groupsArray)) {
$ORG_GID = $hash["main_array"]["gid"];
$gp = new groups();
$gpid = $gp->GroupIDFromName($ou, $hash["groupName"]);
if (!is_numeric($gpid)) {
$gp->groupName = $hash["groupName"];
$gp->add_new_group($hash["groupName"], $ou);
$gpid = $gp->GroupIDFromName($ou, $hash["groupName"]);
}
$gp = new groups($gpid);
$members = $hash["members"];
while (list($a, $b) = each($members)) {
echo "Insert {$b} user to {$hash["groupName"]}/{$gpid}\n";
$gp->AddUsertoThisGroup($b);
}
$gp->saveDescription($hash["main_array"]["description"]);
$gp->ArticaGroupPrivileges = $hash["main_array"]["ArticaGroupPrivileges"];
$gp->Privileges_array = $hash["Privileges_array"];
$gp->SavePrivileges();
$GROUPSORGS[$ORG_GID] = $gpid;
}
while (list($num, $hash) = each($usersArray)) {
$array_groups = $hash["array_groups"];
unset($hash["dn"]);
unset($hash["UserExists"]);
unset($hash["ou"]);
unset($hash["local_sid"]);
unset($hash["objectClass_array"]);
unset($hash["group_id"]);
unset($hash["sambaPrimaryGroupSID"]);
unset($hash["accountGroup"]);
unset($hash["uidNumber"]);
unset($hash["sambaSID"]);
unset($hash["sambaPrimaryGroupGID"]);
unset($hash["gidNumber_array"]);
$samba_groups = $hash["samba_groups"];
unset($hash["ldapClass"]);
unset($hash["attributs_array"]);
unset($hash["samba_groups"]);
$users = new user($hash["uid"]);
$users->ou = $ou;
$users->group_id = $GROUPSORGS[$array_groups[0]];
while (list($a, $orgd) = each($hash)) {
$users->a = $orgd;
}
$users->add_user();
if ($usersM->SAMBA_INSTALLED) {
if (!$hash["NotASambaUser"]) {
$users->Samba_edit_user();
}
}
}
}
示例9: check_ipv6
/**
* Checks an IPv6 address
*
* Checks if the given IP is a valid IPv6 address
*
* @param string $ip An IPv6 address
* @return bool true if $ip is a valid IPv6 address
*/
function check_ipv6($ip)
{
$ip = uncompress($ip);
list($ipv6, $ipv4) = split_v6_v4($ip);
$ipv6 = explode(':', $ipv6);
$ipv4 = explode('.', $ipv4);
if (count($ipv6) === 8 && count($ipv4) === 1 || count($ipv6) === 6 && count($ipv4) === 4) {
foreach ($ipv6 as $ipv6_part) {
// The section can't be empty
if ($ipv6_part === '') {
return false;
}
// Nor can it be over four characters
if (strlen($ipv6_part) > 4) {
return false;
}
// Remove leading zeros (this is safe because of the above)
$ipv6_part = ltrim($ipv6_part, '0');
if ($ipv6_part === '') {
$ipv6_part = '0';
}
// Check the value is valid
$value = hexdec($ipv6_part);
if (dechex($value) !== strtolower($ipv6_part) || $value < 0 || $value > 0xffff) {
return false;
}
}
if (count($ipv4) === 4) {
foreach ($ipv4 as $ipv4_part) {
$value = (int) $ipv4_part;
if ((string) $value !== $ipv4_part || $value < 0 || $value > 0xff) {
return false;
}
}
}
return true;
} else {
return false;
}
}