<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DALLASCAO.COM</title>
	<atom:link href="http://dallascao.com/cn/feed/" rel="self" type="application/rss+xml" />
	<link>http://dallascao.com/cn</link>
	<description>英汉翻译 Dallas Cao 的网站</description>
	<lastBuildDate>Thu, 24 May 2012 10:45:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title></title>
		<link>http://dallascao.com/cn/528/</link>
		<comments>http://dallascao.com/cn/528/#comments</comments>
		<pubDate>Thu, 24 May 2012 10:45:54 +0000</pubDate>
		<dc:creator>Dallas Cao</dc:creator>
				<category><![CDATA[翻译]]></category>
		<category><![CDATA[gamble]]></category>
		<category><![CDATA[game]]></category>

		<guid isPermaLink="false">http://dallascao.com/cn/?p=528</guid>
		<description><![CDATA[<p>http://www.yes365.cn/blog/article.asp?id=423</p>
<p>21点：blackJack<br />
庄家：dealer<br />
花牌：face Cards<br />
胀死：bust<br />
玩家：player<br />
平手: push<br />
下注: wager<br />
叫牌: hit<br />
停叫: stand; stay<br />
翻倍停叫: [......]</p><p class='read-more'><a href='http://dallascao.com/cn/528/'>继续阅读</a></p>]]></description>
			<content:encoded><![CDATA[<p>http://www.yes365.cn/blog/article.asp?id=423</p>
<p>21点：blackJack<br />
庄家：dealer<br />
花牌：face Cards<br />
胀死：bust<br />
玩家：player<br />
平手: push<br />
下注: wager<br />
叫牌: hit<br />
停叫: stand; stay<br />
翻倍停叫: double down<br />
天生21点: blackJack<br />
保险: insurance<br />
分牌: split<br />
投降: surrender<br />
赔率: odds<br />
牌的付数: decker<br />
算牌: card counting<br />
庄家停叫: dealer stands on<br />
五牌自动胜：Five card Charlie<br />
A牌投降：Early surrender against ace<br />
10点投降：Early surrender against ten<br />
一对A分牌后可以加牌：Player may draw to split aces<br />
六牌自动胜：Six card Charlie<br />
一对A分牌后可以再分牌：Player may resplit aces<br />
两张牌后仍可以对10点投降：Late surrender against ten<br />
七牌自动胜：Six card Charlie<br />
两张牌后仍可以对A投降：Late surrender against ace<br />
只能分牌成两手：Resplit to only 2 hands<br />
庄家不检查天生21点：A出现：No-peek: ace showing<br />
玩家只能在9-11点翻倍：Player may double on 9-11 only<br />
庄家不检查天生21点：10点出现：No-peek: ten showing<br />
玩家不能再次分牌：Player may not resplit<br />
玩家分牌后不能翻倍：Player may not double after splitting<br />
玩家只能在10点11点翻倍：Player may double on 10,11 only<br />
庄家在软17点叫牌：Dealer hits on soft 17<br />
天生21点赔6：5：Blackjack pays 6-5<br />
玩家在17点平手输：Player loses 17 ties<br />
玩家在17，18点平手输：Player loses 17,18 ties<br />
玩家在17-19平手输：Player loses 17-19 ties]<br />
玩家在17-20平手输：Player loses 17-20 ties<br />
玩家在17-21平手输：Player loses 17-21 ties<br />
单手游戏：single hand<br />
多手游戏：Multiple hand<br />
换牌21点：Blackjack Switch<br />
提前投降：early surrender<br />
后来投降：late surrender<br />
超级七点：super sevens<br />
同花配：royal match<br />
花牌同花：royal match<br />
普通同花：easy match<br />
连胜：Streak<br />
大于/小于13：Over/Under 13<br />
绝对对子：pair square<br />
平手赔：tie bet<br />
甜蜜16点：Sweet Sixteen<br />
挑战对子：Dare any pair<br />
幸运女神：Lady Luck<br />
奖金21点：Bonus Blackjack<br />
累计奖金21点：progressive blackjack<br />
三管齐下：three way action<br />
双生21点：twin blackjack<br />
完美对子：Perfect Pairs<br />
幸运21点：Bonanza Blackjack<br />
高/低：Hi/LowPoker<br />
7牌同花顺: 7 cards stud<br />
德州同花顺扑克: Texas Hold&#8217;Em<br />
标盘: button<br />
底注: ante<br />
盲注: blind<br />
开牌: the open<br />
跟注: call<br />
加注: raise<br />
看注: check<br />
封牌: fold<br />
共牌：community card<br />
拍底: the flop<br />
转底: the turn<br />
河底: the river<br />
底牌: pocket card<br />
门牌: door card<br />
第三路：third street<br />
第四路：forth street<br />
第五路：fifth street<br />
第六路：sixth street<br />
转牌: the turn<br />
三同点: trip(le)<br />
头牌: head card<br />
同花: flush<br />
两可: draw<br />
顺子：straight<br />
边张顺子: outside straight<br />
中张顺子：inside straight<br />
表露：tell<br />
虚张声势：bluff<br />
换牌扑克: draw poker<br />
花牌同花顺 : royal flush<br />
四同点：four of a kind<br />
满堂红: full house<br />
万能牌：wild card<br />
旁观：sitting out<br />
底池：the pot<br />
轮空: pass<br />
抛牌: discard<br />
换牌: Replacements<br />
闲牌中决定大小的:kicker<br />
成手：name card<br />
轮盘赌: Roulette<br />
直注：Straight bet<br />
分注：split bet<br />
路注：street bet<br />
角注: corner bet<br />
线注: line bet<br />
列注: column bet<br />
12注: dozen bet<br />
对注: even bet<br />
入牢：en prison色子:crap<br />
掷手: shooter<br />
出场掷: come out roll<br />
垃圾点: crap<br />
基本点: the point<br />
镇盘: puck<br />
通过注: Pass bet<br />
通过线: pass line<br />
不通过注: don&#8217;t pass bet<br />
不通过线: don&#8217;t pass line<br />
来注: come bet<br />
不来注: don&#8217;t come bet<br />
机会注：Odds bet<br />
压数注：Place Number bet<br />
预测注：preposition bet<br />
放注：Place bet<br />
买注：buy bet<br />
置注：lay bet<br />
失注：lost bet<br />
补注：Put Bet<br />
大6： big 6<br />
大8： big 8<br />
难4： hard 4<br />
难6： hard 6<br />
难8： hard 8<br />
难10： hard 10<br />
易4： easy 4<br />
易6： easy 6<br />
易8： easy 8<br />
易10： easy 10<br />
任何垃圾点注：Any Craps bet<br />
范围注：field bet<br />
跳注: hop bet<br />
角注: horn bet<br />
赌2:2 bet<br />
赌3:3 bet<br />
赌7:7 bet<br />
赌11: 11 bet<br />
赌12: 12 bet<br />
置注机会注：lay odds<br />
买注机会注：buy odds<br />
赢注：win bet<br />
输注：lose bet<br />
百家乐:<br />
平手注：Tie bet<br />
走势:Riding Trends牌九：Pai Gow<br />
低手：low hand<br />
前手：front hand<br />
高手：high hand<br />
后手：back hand<br />
犯规: foul<br />
拷贝: copy<br />
合作坐庄: co-bank<br />
赌场代做：house way任逍遥：let it ride；free ride<br />
红利：bonus<br />
边注：Side bet<br />
扑克翻花：Poker persuit加勒比扑克：Caribbean Poker<br />
叫：call<br />
够格: qualify<br />
奖池游戏: progressive game<br />
网络同花顺：cyberstud<br />
岛国累计奖同花顺扑克：Island Progressive Stud Poker电动扑克：video poker<br />
杰克及更好：Jack or better<br />
万能两点: Duce wild<br />
全美国式: all american<br />
万能小丑: Joker wild<br />
五同点: five of a kind<br />
A和花牌: Aces and Faces<br />
10点或更好: ten or better<br />
万能2点及小丑牌：Deuces and joker wild<br />
双万能小丑：Double joker<br />
双倍奖金: double bonus<br />
超级大奖: super jackpot<br />
翻倍：double up<br />
减半翻倍：half double up<br />
大扳手：Megajack<br />
奖金扑克：Bonus Poker<br />
万能7点：Sevens wild<br />
轻松2点：loose deuces<br />
全揽扑克：Pick&#8217;em Poker<br />
额外奖金万能2点: bonus Duce wild<br />
A和8：Aces and eights<br />
豪华奖金扑克：Bonus Poker Deluxe<br />
红利黑桃：bonus spades<br />
冲击波：shock waves<br />
双翻：double up<br />
老虎机：slot<br />
转轮：wheel<br />
赔付线：payline<br />
松：loose<br />
紧：tight<br />
繁华区：strip<br />
非繁华区：off strip<br />
市中心：downtown<br />
转：spin<br />
符号：symbol<br />
动态老虎机：variable slot押宝:sic bo<br />
色子点值: Dice Face<br />
两个色子点值: Two Faces<br />
总点值: totals<br />
赌大小: small or big<br />
特定三同点: triple<br />
任何三同点: any triple<br />
两点组合：Two of a kind<br />
金路：keno<br />
选13：Pick 13<br />
选:pick红狗：red dog<br />
跨度：spread<br />
平手：tie下注法：betting system<br />
机会成熟学说：the doctrine of the maturity of the chances<br />
蒙特卡罗谬论：Monte Carlo fallacy<br />
倍注诀窍体系：Martingale system<br />
取消下注法：The cancellation betting system<br />
老式人的色子下注法：An Old Timer&#8217;s Guide to Beating the Craps Table<br />
混沌学说：chaos<br />
不规则碎片理论：fractal3-5-7 扑克：3-5-7 Poker<br />
投降:surrender电子赛马：derby<br />
赌前两名：quinella扑克战：casino war;battle, royale软件介绍：<br />
真钱模式：real mode;play for real<br />
娱乐模式： fun mode;play for fun<br />
杀手鲸: killer whale<br />
金钱轮盘：money wheel六六大顺：Big 6刮刮卡：scratch card三牌扑克：three card poker<br />
底注：ante<br />
对注：pairplus加勒比21：Caribbean 21<br />
浮漂：Pontoon<br />
西班牙21：Spanish 21点<br />
全亮21点：Double Exposure<br />
超级21：Super 21宾果：Bingo<br />
疯狂T型：Crazy T&#8217;s<br />
疯狂L型：Crazy L&#8217;s<br />
疯狂U型：Crazy U&#8217;s<br />
超级宾果：Super Bingo<br />
弹球游戏：Pachinko<br />
王牌组合：King of the Deck</p>
<p>http://yulechang.lad268.com/cn/wheel-of-wealth/game</p>
<p>多语种博彩网站</p>
<p>麻将术语：</p>
<p>三碰不如一暗杠 杂牌断幺九对对 </p>
<p>清一色带幺九对对 清一色断幺九七对 </p>
<p>码牌不用数、两六一个五<br />
轮 行牌一周为一轮<br />
盘 自起牌到胡牌或流局(荒牌，即没人胡牌)，打完一副牌，称为一盘。<br />
圈 东南西北各家各作一次庄称为一圈，打完即为「打完四圈」，再打四圈，当然就是「摸八圈」，以此类推。<br />
局 每打完四圈或达到规定时间为一局<br />
圈 风 每局圈数的标志。第一圈为东风圈，第二圈为南风圈，第三圈为西风圈，第四圈为北风圈。<br />
门 风 玩家每盘座位的标志。庄家为东风，下家为南风，对家为西风，上家为北风。<br />
定 位 由桌长（电脑）先掷2颗骰子，如相加为2或6或10点，则下家为东；如相加为3或7或11点，则对家为东；如相加为4或8或12点，对家为东；如相加为5或9点，则自己为东。再由各家自「东南西北」四张暗牌抓一张， 以决定自己的坐位。<br />
庄 家 门风东者为庄家，负责掷骰子，以决定开牌位置，其余均为旁家；无论是否胡牌，庄家不连庄<br />
下 庄 庄家没有胡牌，就下庄了，换下一个人当庄家<br />
手 牌 摆在自己面前的牌为手牌，标准数为13张。行牌过程中包括摆亮在面前的顺子、刻子、杠；开杠多出的牌补花不计算在13张标准牌数内<br />
将 牌 按基本牌型和牌时必须具备的单独组合的对子<br />
顺 子 3张同花色序数相连的牌<br />
刻 子 3张相同的牌，碰出的为明刻，抓在手中的暗刻<br />
对 子 两张相同的牌<br />
字 牌 指风牌和箭牌，风牌为东、南、西、北。箭牌为红中、发财、白板<br />
幺九牌 序数牌中的一、九及字牌<br />
吃 牌 指上家打出牌后，报”吃”者把自己的两张牌取出加在一起组成顺子，并且按规定将此副牌摆亮在立牌前<br />
碰 牌 指任一家打出牌后，报”碰”者把自己的对子取出，加在一起组成一副刻子，并且按规定将此副牌摆亮在立牌前<br />
杠 牌 已经拥有一刻子时，仍可「杠」别人打出的同一张牌，此时可从海底补牌处补一张牌 (用意在可以快一点多一张牌来换，可以增加胡牌机率)杠牌后必须亮牌，将杠到的牌放在中间牌上面，形成一个┴型<br />
暗 杠 已经拥有一刻子时，如摸到同样的牌，也可以杠牌，称为「暗杠」，此时可以补一张牌。暗杠不须亮牌，但仍必须摊下来，将杠到的牌放在中间牌上面，表示不能换牌的<br />
补 花 抓到花牌后，明放在立牌前，并从牌墙最后补一张牌<br />
听 牌 只差所需要的一张牌即能胡牌的状态<br />
胡 牌 符合规定的牌型条件，达到或超过起和分标准并报胡牌的行为<br />
自摸胡 自己抓进成胡的牌，并报胡牌<br />
出 铳 别人打的牌让你胡了，他就「出铳」<br />
报 牌<br />
行牌者宣布吃牌、碰牌、开杠、补花或胡牌<br />
番 种 是具有一定分值的各种牌张组合的形式或胡牌方式的称谓<br />
流 局 每盘抓完第144张牌，打出后仍无人胡牌；也叫荒牌<br />
牌墙 牌城 四人各自在门前码成18墩牌，即称牌墙。四道牌墙左右相接称牌城<br />
底 牌 牌墙中剩余的公用牌，也就是还可以摸的牌<br />
牌 池 即四道墙围起的区域，各家打出去的牌都摆到这里<br />
分 用于体现成绩的衡量单位。<br />
基本分 和牌后，各个番各分数的总和。<br />
罚 分 因断线而被判罚减去的分数。<br />
底 分 未胡牌方必须向胡牌方所付的分数，分值为8分。<br />
盘 分 玩家在每盘比赛中所得失的比赛分。<br />
局 分 一局比赛结束时，各盘比赛分及基础比赛分的总和。高 清一色四步高<br />
清一色半条龙 清一色清七对 清一色清对对 清一色混七对 清一色混对对 混一色一条龙<br />
混一色三节高 混一色三步高 混一色四节高 混一色四步高 混一色半条龙</p>
<p>[txt_mahjong_solo_wmf]<br />
This is the single-player version of the classic Chinese game, played according to the World Mahjong Federation rules. You start out with a ready hand (one tile away from a win) and must find the right tile in the wall to complete it. </p>
<p>The wall is a set of 24 face-down tiles. Click on a tile to pick it. You have three chances per round to find the right tile. The number of picks left is displayed under the wall.</p>
<p>Below the wall is your hand. The space to the right of it holds the last picked tile, and the space just above it holds the discarded tiles. If you picked a tile from the wall and it hasn’t completed your hand, “No hand” will blink and the tile will be discarded automatically. You can also click on the tile to discard it yourself. After that, you can pick another tile. If you’ve picked three tiles and none of them have completed your hand, the round is over.</p>
<p>Please note: In standard Mahjong, discarded tiles can be used to complete a hand. In Solo Mahjong, this is not the case. Discarded tiles do not participate in the game in any way. (See Solo Mahjong Rules for more.)</p>
<p>If the picked tile completed your hand, the win screen will open. There you can see all the sets in your hand, and how many points each set is worth. The more points you have, the bigger your win. In the win screen, you can click on Continue to review the end state of the round, or you can click on the New Game button to immediately start the next round.</p>
<p>To the right of the wall is the Hand Information area that displays the random actions or bonuses associated with the current game round. The hand information parameters are representing a scenario that would happen at the end of a true Mahjong game. The final score of the winning hand is based also on the hand information parameters:</p>
<p>Action is a Mahjong hand that is applied as a bonus. If you win, this hand’s points are added to your total. See Solo Mahjong Rules for the description of the hands and how many points they give. Pleasenote: If Action is Response, you get no bonus points.<br />
Reach specifies whether the Reach or Early Reach hand applies. (See Solo Mahjong Rules for more.)<br />
Honor Streak specifies whether the Honor Streak bonus can occur in this hand. (See Solo Mahjong Rules for more.)<br />
The Seat Wind and Quarter Wind indicators. A set of wind tiles matching either the seat or quarter wind makes a special hand and increases your score. (See Solo Mahjong Rules for more.)<br />
Below your hand are the following:</p>
<p>Bet – your bet per round. Use the arrow buttons to change the bet amount.<br />
Win – your win amount in the last round (if you won).<br />
The Paytable button opens a screen where you can see how much you win given the point total as well as the names of tiles. Click the Close button to close the paytable.<br />
The New Game button starts a new game round. </p>
<p>Solo Mahjong Rules<br />
A winning Mahjong hand consists of 14 tiles. However, at the start of a game round you have a ready hand – 13 tiles, just one short of winning. The tiles in your hand are arranged into sets by suit and number.</p>
<p>Suits<br />
There are five suits in Mahjong – three Numeral suits and two Letter suits. The Numeral suits are the Bars, Wons and Dots. These suits contain nine tiles each, marked with numbers 1 through 9. </p>
<p>The letter suits are the Winds and Dragons. The Wind suit contains four tiles, for the North, South, East and West winds. The Dragon suit contains three tiles, for the Red, Green and White dragons. All these cards are marked with letters – N, S, E and W for Winds; R, G and Wh for Dragons.</p>
<p>In addition, the 1 st and 9 th tiles of each Number suit (Edges), together with the letter tiles, make up the Honors suit. Sets made of honor tiles are worth more than sets made of Middle tiles (the 2 nd through 8 th tiles of number suits).</p>
<p>A standard game of Mahjong has 4 of each suit (for a total of 136 tiles). For the simplified Solo Mahjong game, this means that there can be up to four identical tiles in the hand and wall together.</p>
<p>Sets<br />
The 14 tiles of a winning Mahjong hand are arranged into several sets. To qualify as a winning hand, your hand must be full, meaning that each tile in the hand must be part of some set. The following sets are available:</p>
<p>Pong – a set of three tiles of identical suit and value.<br />
Kong – a set of four tiles of identical suit and value. Please note: when counting the number of tiles in a hand, the Kong blocks count as 3 tiles.<br />
Chee – a set of three tiles of identical suit and sequential value.<br />
Pair – a set of two tiles of identical suit and value. This set does not give you any points, but is necessary to complete a winning Mahjong hand.<br />
In standard Mahjong, certain circumstances may require a player to call a set (declare to other players that he has it). In this case the set is put on the table, and spaced apart from the other tiles. In Solo Mahjong, your ready hand may already contain called sets.</p>
<p>There are two types of called Kong: Open Kong and Hidden Kong. </p>
<p>The Open Kong set is displayed as three face-up tiles with one face-down tile on top of them;<br />
The Hidden Kong set is displayed as three face-down tiles with one face-up tile on top of them.<br />
A hand that contains no called sets, or only a called Hidden Kong, is called a clean hand. This is important because some of the sets are only valid with a clean hand.</p>
<p>The above sets can be mixed and matched to produce a possible winning (i.e., full) hand. For example, you can have</p>
<p>A pair and four Pongs<br />
A pair, three Pongs and a Chee<br />
But note that there are also special hands (e.g., Nine Treasure Lamps) that award points for specific tile combinations that do not conform to the above rules.</p>
<p>Points<br />
To win a round of Mahjong, you need to get at least 3 points. Points are awarded for specific sets, their combinations, and actions. The more points you get, the bigger your win amount is. Specific payouts are listed in the paytable.</p>
<p>Below is a list of hands and actions , explanations, and point values. The values of all applicable hands are added up to form your point total for the round. You cannot get more than 20 points. If your point total adds up to more than 20 points, it is rounded down.</p>
<p>Hand/Action<br />
Description<br />
Value </p>
<p>Clean<br />
A hand that does not contain any called Pongs, Chees, or Open Kongs. It can contain Hidden Kongs.<br />
1</p>
<p>Self-draw<br />
In standard Mahjong, picking a tile from the wall. In Solo Mahjong, this is one of the Actions (see the description in the Hand Information area) that is assigned to your hand randomly.<br />
1</p>
<p>Reach<br />
In standard Mahjong, a hand that is both Clean and can be completed by a tile discarded by another player. A Reach must be declared by the player before picking up the tile. In Solo Mahjong, this is one of the Actions (see the description in the Hand Information area) that is assigned to your hand randomly.<br />
1</p>
<p>Seat Wind<br />
The hand contains a Pong or Kong of Winds matching the Seat Wind indicator.<br />
1</p>
<p>Quarter Wind<br />
The hand contains a Pong or Kong of Winds matching the Quarter Wind indicator.<br />
1</p>
<p>Honor Streak<br />
If Seat Wind is East, and Honor Streak is allowed, you win one more point.<br />
1</p>
<p>White Dragons<br />
The hand contains a Pong or Kong of White Dragons.<br />
1</p>
<p>Green Dragons<br />
The hand contains a Pong or Kong of Green Dragons.<br />
1</p>
<p>Red Dragons<br />
The hand contains a Pong or Kong of Red Dragons.<br />
1</p>
<p>Picking Up a Supplement<br />
In standard Mahjong, the player calls a Kong, and then picks a tile from the bottom of the wall that completes the hand. In Solo Mahjong, this is one of the Actions (see the description in the Hand Information area) that is assigned to your hand randomly.<br />
1</p>
<p>Robbing a Kong<br />
In standard Mahjong, the hand is completed using a tile that another player has just used to call a Kong. In Solo Mahjong, this is one of the Actions (see the description in the Hand Information area) that is assigned to your hand randomly.<br />
1</p>
<p>Response On Last<br />
In standard Mahjong, the hand is completed using a discarded tile when there are no tiles left in the wall. In Solo Mahjong, this is one of the Actions (see the description in the Hand Information area) that is assigned to your hand randomly.<br />
1</p>
<p>Picking Up Last<br />
In standard Mahjong, the hand is completed by picking the last tile in the wall. In Solo Mahjong, this is one of the Actions (see the description in the Hand Information area) that is assigned to your hand randomly.<br />
1</p>
<p>All Middles<br />
The hand does not contain any tiles from the Honors suit.<br />
1</p>
<p>One Twin<br />
The hand contains two Chees identical in suit and value.<br />
1</p>
<p>All Chees<br />
The hand is made up of four Chees and a pair of Numeral tiles.<br />
1</p>
<p>Three Hidden Pongs<br />
The hand contains three Pongs, none of which are called. If Action is Response, Robbing a Kong or Response on Last, this hand is worth 1 point. Otherwise it is worth 2 points.<br />
1 or 2</p>
<p>Linked to Honors<br />
All sets in the hand contain at least one tile from the Honors suit.<br />
2</p>
<p>Five Gates<br />
No two sets in the hand contain a tile of the same suit and value. (Identical tiles can still make up a Pong, Kong or pair.)<br />
2</p>
<p>Sequence of Nine<br />
The hand contains all nine tiles of a Numeral suit.<br />
2</p>
<p>Three Sisters<br />
The hand contains three sets made up of Numeral tiles, with the same numbers but different suits.<br />
2</p>
<p>Three Brothers<br />
The hand contains three Numeral Pongs, with the same numbers but different suits.<br />
2</p>
<p>Three Kongs<br />
The hand contains three Kongs. They can be called, but do not have to be.<br />
2</p>
<p>All Pongs<br />
All sets in a hand, except the pair, are either Pongs or Kongs. (The name comes from the fact that a Kong contains a Pong.)<br />
2</p>
<p>Seven Eyes<br />
The hand is made up of seven pairs.<br />
2</p>
<p>Early Reach<br />
In standard Mahjong, an Early Reach is a Reach called in the first turn of a round. In Solo Mahjong, this is one of the Actions (see the description in the Hand Information area) that is assigned to your hand randomly.<br />
2</p>
<p>Mixed One Numerals<br />
The hand contains Numeral tiles of only one suit, plus any Letter tiles.<br />
3</p>
<p>Double Twins<br />
The hand contains two blocks of two Chees each, and the Chees in each block are identical in suit and value. (A called Chee cannot be part of Double Twins.)<br />
3</p>
<p>Linked to Five<br />
All sets in the hand contain at least one Numeral 5 tile.<br />
3</p>
<p>Linked to Edges<br />
All sets in the hand contain at least one Edge tile.<br />
3</p>
<p>Mixed Edges<br />
The hand is made up of only Edge and Letter tiles.<br />
4</p>
<p>Small Dragons<br />
The hand contains two Pongs or Kongs of Dragons, and a pair of different Dragons.<br />
4</p>
<p>One Numerals<br />
The hand is made up entirely of Numerals identical in suit.<br />
6</p>
<p>Small Winds<br />
The hand contains three Pongs or Kongs of Winds, and a pair of a different Wind. The Seat Wind and Quarter Wind hands are not counted along with this hand.<br />
12</p>
<p>Full Dragons<br />
The hand contains three Pongs or Kongs of Dragons.<br />
12</p>
<p>All Hidden Pongs<br />
The hand contains four Pongs (including those that are part of Kongs), none of which are called (but Hidden Kong is allowed).<br />
12</p>
<p>All Kongs<br />
The hand contains four Kongs. The All Pongs hand is not counted along with this hand.<br />
12</p>
<p>All Greens<br />
The hand is made up of tiles that only have green markings on them.<br />
12</p>
<p>All Letters<br />
The hand is made up entirely of Letter tiles.<br />
12</p>
<p>Heaven Hand<br />
In standard Mahjong, this is a hand that is completed with the first Self-draw in a round (before anybody has called a Kong, Pong or Chee). In Solo Mahjong, this is one of the Actions (see the description in the Hand Information area) that is assigned to your hand randomly.<br />
15</p>
<p>All Edges<br />
The hand is made up entirely of Edge tiles.<br />
15</p>
<p>Thirteen Honors<br />
The hand is made up of twelve Honor tiles of different suits and values, plus a pair of Honor tiles of a different suit and value from any others.<br />
15</p>
<p>Full Winds<br />
The hand contains four Pongs or Kongs of Winds.<br />
20</p>
<p>Nine Treasure Lamps<br />
The hand is made up entirely of Numerals identical in suit, and tiles 1 through 9 are arranged in sequence within the ready hand’s 13 tiles.<br />
20</p>
<p>1大四喜<br />
2 大三元 3 绿一色<br />
4 九莲宝灯<br />
5 四杠 6 连七对 7十三幺</p>
<p>8 清幺九 9 小四喜<br />
10 小三元<br />
11 字一色<br />
12 四暗刻<br />
13 一色双龙会<br />
14 一色四同顺 15 一色四节高 </p>
<p>16 一色四步高 18 混幺九 </p>
<p>19 七对<br />
20 七星不靠<br />
21 全双刻 22 清一色23 一色三同顺<br />
24 一色三节高 25 全大 26 全中 27 全小 </p>
<p>28 清龙 29 三色双龙会 30 一色三步高 31 全带五 32 三同刻 33 三暗刻 3个暗刻 </p>
<p>34 全不靠 35 组合龙<br />
36 大于五 37 小于五<br />
38 三风刻 </p>
<p>39 花龙<br />
40 推不倒<br />
41 三色三同顺<br />
42 三色三节高<br />
43 无番和<br />
44 妙手回春<br />
45 海底捞月<br />
46 杠上开花<br />
47 抢杠和 </p>
<p>48 碰碰和<br />
49 混一色<br />
50 三色三步高<br />
51 五门齐<br />
52 全求人<br />
53 双暗杠<br />
54 双箭刻 </p>
<p>55 全带幺<br />
56 不求人<br />
57 双明杠 58 和绝张 </p>
<p>59 箭刻 60 圈风刻 与圈风相同的风刻<br />
61 门风刻<br />
62 门前清<br />
63 平和<br />
64 四归一 65 双同刻<br />
66 双暗刻<br />
67 暗杠 68 断幺 </p>
<p>69 一般高 70 喜相逢<br />
71 连六 72 老少副<br />
73 幺九刻<br />
74 明杠<br />
75 缺一门 76 无字<br />
77 边张78 坎张79 单钓将 80 自摸 81 花牌</p>
<p>飞 镖 术 语 总 汇</p>
<p>也就是飞镖界黑话大全罗 ~_^<br />
如果你在比赛中打出吓人的结果(无论是吓得人大叫、大笑还是哭笑不得)，你会觉得下面这些充满幽默感的“黑话”最能帮助你表达自己的感情。</p>
<p>英文原文	中文译名	含义<br />
ARROWS	箭	即飞镖。<br />
BABY TON	小吨	分数95，通常是打了5个19分。<br />
BAG O&#8217; NUTS	一袋坚果	分数45。<br />
Barn Dart	进仓镖	一轮中的第三支镖打中了头两支没打中的瞄准目标。<br />
BARREL	镖筒	飞镖中你握住的部分，即针尖后的那一部分。<br />
BASEMENT	地下室	3的两倍区。<br />
BREAKFAST	早餐	在01比赛中连中5分、20分和1分的单倍区。此名源于一种常见的床上早餐，其价钱为26便士。（贪分者这顿“早餐”恐怕吃得很不舒服吧？）<br />
Bombs/Bombers	轰炸机	很大或者很重的飞镖。<br />
BUCKET OF NAILS	一大桶钉子	三支镖都打在1分上。（还不如吃“早餐”呢）<br />
BUCKSHOT	乱射（胡打）	飞镖毫无规则地打在飞镖盘各处。<br />
BULL	牛眼	镖盘的中心<br />
BULLSEYE	牛眼	镖盘的中心<br />
Bull Out	牛眼倍出	通过双牛眼倍出来赢得比赛。<br />
BUST	爆镖	在01比赛中打中太多的分数，因而这轮分数不算数。<br />
C	C	在Cricket比赛中指打中一个分数的次数。例如，T20-S20-S20被称作C-5，因为这三支镖算作打中5次。<br />
CHUCKER	乱射（胡打）	根本不瞄准就胡乱投镖。<br />
CIRCLE IT	“圈上它”	如果一个选手在一轮中只得了一位数（小于10分），他的队友将对计分员喊“圈上它”，以提醒这是多么可怕的一轮投掷。<br />
CLOCK	钟面	即飞镖盘。<br />
CORK	软木	镖盘中心。因为这一部分通常塞入一个小圆柱形的软木。<br />
DIDDLE FOR MIDDLE	掷牛眼	各掷一支镖，看谁离牛眼更近，以决定比赛中谁先投掷。掷牛眼的详细规定请参见ADO规则有关章节。<br />
DOUBLE	两倍区	飞镖盘外侧的那个环形，通常打在此处的镖以两倍计分。<br />
DOUBLE IN	倍入	必须打中一个两倍区才能开始计分。<br />
DOUBLE OUT	倍出	必须打中两倍区才能赢得比赛。<br />
DOUBLE TOP	顶部两倍区	20的两倍区。<br />
DOUBLE TROUBLE	两倍区麻烦	老是打不中赢得比赛所须的那个两倍区。<br />
DOWNSTAIRS	楼下	镖盘的下半部分。在01比赛中通常指19分分区。<br />
EASY IN	易入	无须特别的投掷就直接开始计分的比赛。<br />
FEATHERS	镖羽	飞镖末端用于保持飞行直线的“羽翼”，亦称作镖翼。<br />
FEATHERS	羽毛	分数33。<br />
FLIGHTS	镖翼	飞镖末端用于保持飞行直线的“羽翼”，亦称作镖羽。<br />
HALF-A-CROWN	半个皇冠	在01比赛中连续打中5分、20分和1分的单倍区。<br />
HAT TRICK	帽子戏法	连续打中三只牛眼。<br />
HOCKEY	投掷线	必须站在此线后掷镖。<br />
ISLAND	岛	飞镖盘上可以得分的区域（两倍环及以内）。如果没打中这个区域，称为“没上岛”。<br />
LEG	局	比赛中的一局。<br />
MAD HOUSE	疯狂屋	1分的两倍区，因为在01比赛中你要打中此区时常常会打疯掉。<br />
MIDDLE FOR MIDDLE	掷牛眼	（掷牛眼怎么有这么多难译的古怪名字？）<br />
MONGER	贩子	不管赢得比赛所需的实际分数，拼命打高分，结果打爆了。<br />
MUGS AWAY	傻瓜先来	上一局的败者在下一局中先掷。<br />
MURPHY	墨菲	在01比赛中打中5分、20分和1分的单倍区。得名于“墨菲法则”。<br />
OCHE	（无此词）	还是指“投掷线”<br />
POINT MONGER	得分怪兽	乱打高分结果打爆了的选手。<br />
POPCORN	爆米花	两支镖打得太靠近，以致把镖翼打飞了。<br />
RIGHT CHURCH, WRONG PEW 或 RIGHT HOUSE, WRONG BED	“进对教堂，坐错座位”或“进对房，上错床”	你瞄准一个特定的两倍区或三倍区，却打到了旁边的两倍区或三倍区里。<br />
ROBIN HOOD	罗宾汉	把后一支镖打在前一支镖的镖杆上。<br />
SHAFT	镖杆	飞镖上镖筒后面的那部分，即装镖翼的那部分。<br />
SHANGHAI	上海	指连续打中同一个分数的单倍区、两倍区和三倍区。在有些比赛中你将自动赢得比赛。这亦是一种比赛的名字。<br />
SHUT OUT	关在门外	一分没得就输掉了一场比赛。<br />
SKUNKED	惨败	一分没得就输掉了一场比赛。<br />
SLOP	溅出	瞄着一个分数却打到了别的分数上。<br />
SPIDER	蜘蛛网	划分飞镖盘的金属丝网。<br />
SPLASH	飞溅	同“溅出”。<br />
STRAIGHT IN	直入	不须要特别的投掷就直接开始得分的比赛。<br />
THREE IN A BED	三人行	三支镖打在同一个分数上。<br />
THROW LINE	投掷线	你必须站在此线后投掷。<br />
TOE LINE	脚尖线	即投掷线。<br />
TON	吨	在01比赛中指100分。超过100分的分数称为“一吨又多少”，例如一吨又30指130分。<br />
TRIPLE	三倍区	镖盘上靠里的那个环形区，通常计为此分区分数的三倍。<br />
UPSTAIRS	楼上	镖盘上半部分，通常指20分。<br />
WIRE	打电报	瞄着一个分数打，却打到了钢丝的另一侧。<br />
X	X	需要打1的两倍区来倍出。</p>
<p>轮盘 维基</p>
<p>http://zh.wikipedia.org/zh-cn/%E8%BC%AA%E7%9B%A4</p>
<p>buy-in 最低買入籌碼，即指是参加比赛必须购买筹码的最低限。</p>
<p>Avg. Pot Average pot per game at this table for the last 50 hands.8^J]”D^~ Wkzz<br />
Plrs/flop The percent of players who started the hand and stayed in until the flop cards (explained in the Playing Poker section) out of the total number of players playing at the table. This is an average, calculated for the last 50 hands. :r#mX,Ya$i<br />
Hnds/Hr The number of Poker hands played on the table in the last hour.</p>
<p>guts 一种游戏玩法 </p>
<p>Razz玩法介绍<br />
星彩网 http://www.starlott.com　2008-01-24 14:04:51<br />
　　Razz是七张牌扑克玩法的一种。最早介绍七张牌扑克的是美国1867年出版的《纸牌游戏法》 （Hoyle’s Games）一书。据说在这之前，即在美国独立战争时期，士兵们在休息的时候已经玩七张牌扑克了。由于五张牌扑克（ five-card stud poker）太简单，而且容易欺诈作假，所以人们就发明了七张牌扑克，由于一起手就有两张底牌，最后还有一张底牌，所以就难以判断对手的牌力，增加了玩牌的难度，也就增加了趣味性。现在七张牌扑克是专业玩家的最爱。 </p>
<p>　　赌注限度　七张牌扑克最常见的下注限制是1/2，2/4，4/8，8/16，10/20，甚至100/200（元）。 </p>
<p>　　赢的规则　用一副五十二张的扑克牌，每个玩家先发两张底牌，和一张翻开的明牌，再发三张翻开的明牌，最后发一张底牌，从这七张牌中选出五张形成最大或最小的组合，大家来比高低（后文再详细介绍何时高牌赢，何时低牌赢）。</p>
<p>　　七张牌扑克的种类 </p>
<p>　　七张牌扑克的主要分三种： </p>
<p>　　1.高七张牌扑克（seven-card high stud） </p>
<p>　　2.低七张牌扑克或者叫“嘲弄”（seven-card low stud or razz） </p>
<p>　　3.高-低七张牌扑克（seven-card high-low stud） </p>
<p>　　高七张牌扑克（seven-card high stud） </p>
<p>　　下面介绍赌场高七张牌扑克的游戏过程和规则。</p>
<p>　　开始发牌</p>
<p>　　我们这里用线上扑克网站Party Poker, 4/8元 的游戏作为例子来说明，盲注是最低限额的25％，即1元。庄家从他的左手边开始按顺时针发牌，每次发一张，直到每个玩家都有两张底牌（扣着的），和一张明牌（翻开的）。有些赌场在庄家发牌之前，规定每个玩家都必须投一个盲注，在这个例子里就是1元。</p>
<p>第三道</p>
<p>　　这时每个玩家都有三张牌，叫“第三道”。庄家开始示意玩家下注，由明牌最小的开始，如果明牌大小相同，就由花色决定大小，由大到小的顺序是：黑桃，红桃，方块，梅花。<br />
明牌最小（或最大）的玩家投注的大小相当于盲注的两倍，在这个例子中就是2元。如果拿着最小明牌的玩家不下注，就算他弃牌，开牌的任务传给他左边的玩家。 </p>
<p>　　从开牌者左边顺时针轮到的玩家可以跟注，即下和开牌者一样的注2元，也可以加注，即按最低限额加注，在这个例子中就是4元，或者弃牌。在第三道阶段，所有的投注和加注都是以最低限额为标准进行的（4元）。</p>
<p>第四道</p>
<p>　　庄家将发给每个玩家另一张翻开的扑克牌，和第三道不一样的是，从第四道开始接下来的几道牌中，都是翻开的牌大的玩家开牌。他们可以观察或者下注。如果开牌的时候下的注是最低限额4元，那么在这一轮中所有的加注也只能是最低限额。 </p>
<p>　　如果开牌的人亮开的牌是一个对子，那么开牌者可以以最高限额8元下注，那么在这一轮中所有的加注也只能是最高限额。</p>
<p>　　第五道和第六道</p>
<p>　　这两道也是牌大的玩家开牌，所有的赌注和加注都必须是最高限额8元。</p>
<p>　　第七道</p>
<p>　　这是最后一张牌，又叫“河底”，这是另外一张底牌（扣着的牌），所以投注和加注都必须是最高限额8元。</p>
<p>　　摊牌</p>
<p>　　在所有的投注和加注结束后，剩下的玩家进入摊牌阶段。开牌的人首先摊出自己的底牌，如果其他的玩家要和开牌的人比拼，就也摊出他们的牌，否则就弃牌，退出认输。在赌场中是由庄家来宣布赢家，谁的牌高谁就赢。</p>
<p>　　任何玩家都有权要求看其他玩家没有翻开的牌的大小，只要其他玩家跟到最后。</p>
<p>　　低七张牌扑克或者叫“嘲弄”（seven-card low stud or razz），就是Razz.</p>
<p>　　游戏过程与高七张牌扑克类似，区别如下：</p>
<p>　　A为最小牌。</p>
<p>　　第三道时，由明牌最大的玩家开始下注，而且是强制性下注。</p>
<p>　　在第四道至第七道，均由明牌最小的玩家开始下注，可以观察或投注。</p>
<p>　　摊牌后，低牌赢。</p>
<p>西洋双陆棋 (backgammon)策略<br />
Ricardo Hui<br />
賽跑策略 (Running Game)<br />
快速移動策略的目標就是儘量將你的棋子安全的移入到你的內盤，然後儘快進行離盤 (bear off)，就像田徑中的跑步比賽一樣。如果你的步點 (pip-count)大大小於對方，同時你的棋子都已經過了對方所有的棋子，就應該選擇該策略。在開始採用快速移動策略之前，你必須觀察一下你的棋子的未知，並判斷使用該策略是否對你有利。如果你的步點已經落後對方很多了，採用這種方法，輸的可能性會很大。</p>
<p>延緩策略 (Holding Game)<br />
延緩策略的基本思想就是在確保不被對方吃子的情況下，將你的棋子放在對方的內盤 (home board)或外盤 (outer board)中，通常是內盤。當你的步點大大少於對方時，這是最好的策略。你的棋子所佔的最好位置是18,20,21這三格，特別是20格 (對方的第5格)。因為這裡將最易吃掉對方的棋子，而迫使其回到起點。同時玩家應該能夠判斷在合適的時候對所壓的金額進行加倍等，給對方施加壓力。採用延緩策略的另外一個關鍵是要看對方棋子的分佈，如果對方還有8到13個棋子沒有移入內盤，當對方移動棋子的時候，你就很有可能吃掉對方棋子，從而使整個局面有利於你；但如果對方在其外盤已經佔領了很多格，你吃子的概率就很少了。</p>
<p>阻擋策略 (Priming Game)<br />
阻擋策略也可以說是佔有性策略的一種，那就是佔有一連串的格，最好是連續6個 (長城)，然後將對方的棋子擋在後面，這些棋子就無法往前移動了，結果會很有意思，你的對手不得不艱難在其內盤不停的移動自己的棋子，將自己在內盤佔有的位置騰出 。<br />
也可以先做出長城，隨後再設法吃掉對方棋子，將其打回到你所佔有的點後面。可以在你的第2至11格進行構建長城，當你準備進入離盤階段時，再慢慢移入你的內盤 。<br />
注意：所謂的佔有一個格就是指你至少有兩個棋子在同樣的位置上，如果只有一個棋子在一個位置上，該棋子稱為“單子” ，對手把它吃掉，這是你就麻煩了。</p>
<p>長城 VS 長城 (Prime vs. Prime Game)<br />
如果對方有快有長城時，如果能只用一枚骰子的點數(最大是6點)就可以逃離，是很重要的。舉例來說，如果他有5格長城，這樣你就要儘快把你落後的棋子跑到它前面，如擲出6,就可以逃離；如果他是6格長城，你不能逃離了。</p>
<p>閃電戰策略 (Blitz)<br />
閃電戰的策略就是通過吃對方棋子的同時，佔有自己的內盤（最好6個全佔） ，然後讓對手無法落盤。除非你開始時擲出的點數合適，否則該策略風險很高，因為當你吃對方棋子時，你的棋子被吃的可能性也加大了。</p>
<p>撤退策略 (Back Game)<br />
撤退策略就是在對方內盤佔有兩格或以上，然後等待時機吃對方棋子。該策略運氣佔有很大的部分。一般在你開局不利，然後大量棋子被對方吃掉而回到起點的情況下才採用。</p>
<p>A<br />
about 关于<br />
announcements 公告<br />
amount available 可用提款额<br />
auto muck hands 自动盖牌<br />
avatars 头像<br />
account 账户<br />
animation 动画<br />
B<br />
buy chips 购买筹码,　存款<br />
bonus 红利<br />
bet amounts 下注金额<br />
C<br />
cashier 出纳,　银行<br />
cash out 提款<br />
close 关闭<br />
chips 筹码<br />
complete 已结束<br />
create account 创建账户<br />
change password 修改密码<br />
current hand 当前牌局<br />
change e-mail address 修改电子邮箱地址</p>
<p>change personal details 修改个人资料<br />
our commitment 我们承担的责任</p>
<p>D<br />
display 显示<br />
deposit 存款</p>
<p>E<br />
exit&#8211;退出 退出<br />
F</p>
<p>find a player 查找玩家<br />
find a tournament 查找锦标赛<br />
filter 过滤器<br />
fast table 快速桌<br />
four color cards 四色牌<br />
full table 坐满人的牌桌<br />
forgot password 忘记密码</p>
<p>G</p>
<p>games guide 游戏指南</p>
<p>H</p>
<p>help 帮助<br />
high 大额牌桌<br />
hisitory 历史<br />
hand history 牌局历史<br />
highlight bet amount 高亮投注金额</p>
<p>J<br />
join 加入<br />
L</p>
<p>login 登录<br />
languages 语言<br />
low 低注牌桌<br />
last hand 上一手牌</p>
<p>M</p>
<p>my account 我的帐户<br />
medium 中注牌桌<br />
micro 微注牌桌<br />
O<br />
options 选项<br />
P<br />
play money 假钱游戏<br />
player transfer 会员转账<br />
phone number 电话号码<br />
password 密码</p>
<p>R<br />
refer a friend 推荐朋友<br />
ring 真钱<br />
remember password 记住密码<br />
registered in tournaments 已注册比赛<br />
running 正在进行的<br />
requests 申请</p>
<p>S<br />
summary 浏览<br />
stakes 赌注<br />
status 状态<br />
sound 声音<br />
support 客服<br />
security 保障</p>
<p>T<br />
table view 牌桌显示<br />
transfer funds 转账<br />
tournament history 锦标赛历史</p>
<p>U</p>
<p>User ID 账户<br />
V<br />
vip store vip会员商店<br />
validate e-mail address 验证电子邮箱地址<br />
W<br />
withdrawl 提款<br />
waiting list 排队的玩家列表</p>
<div id="crp_related"><h3>相关文章：</h3><ul><li><a href="http://dallascao.com/cn/gt4t-dictionary-feature/" rel="bookmark" class="crp_title">GT4T系列介绍2：GT4T的词典功能</a></li><li><a href="http://dallascao.com/cn/plaintext/" rel="bookmark" class="crp_title">PlainText 1.10</a></li><li><a href="http://dallascao.com/cn/520/" rel="bookmark" class="crp_title"></a></li><li><a href="http://dallascao.com/cn/chinese-characters/" rel="bookmark" class="crp_title">用来做装饰的汉字</a></li><li><a href="http://dallascao.com/cn/two-translation-mistakes-in-cpanel/" rel="bookmark" class="crp_title">中文版 cpanel 中的两个翻译错误</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://dallascao.com/cn/528/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php判断某个值是否为数组成员</title>
		<link>http://dallascao.com/cn/php-in_array/</link>
		<comments>http://dallascao.com/cn/php-in_array/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 13:17:22 +0000</pubDate>
		<dc:creator>Dallas Cao</dc:creator>
				<category><![CDATA[代码狂]]></category>

		<guid isPermaLink="false">http://dallascao.com/cn/?p=525</guid>
		<description><![CDATA[<p>使用 in_array 这个函数，可以用来判断某个值是否为数组成员。<br />
如果你有一个被禁的名单，如果用户属于其中之一，则踢之。你不会像我以前一样写个超长的if 判断吧吧？</p>

<div class="wp_syntax"><div class="code"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #339933;">==</span><span style="color: #0000ff;">&#34;aaaa&#34;</span><span style="color: #339933;">&#124;&#124;</span><span style="color: #000088;">$a</span><span style="color: #339933;">==</span><span style="color: #0000ff;">&#34;bbbb&#34;</span><span style="color: #339933;">&#124;&#124;</span><span style="color: #000088;">$a</span><span style="color: #339933;">==</span><span style="color: #0000ff;">&#34;cc[......]</span></div></div><p class='read-more'><a href='http://dallascao.com/cn/php-in_array/'>继续阅读</a></p>]]></description>
			<content:encoded><![CDATA[<p>使用 in_array 这个函数，可以用来判断某个值是否为数组成员。<br />
如果你有一个被禁的名单，如果用户属于其中之一，则踢之。你不会像我以前一样写个超长的if 判断吧吧？</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #339933;">==</span><span style="color: #0000ff;">&quot;aaaa&quot;</span><span style="color: #339933;">||</span><span style="color: #000088;">$a</span><span style="color: #339933;">==</span><span style="color: #0000ff;">&quot;bbbb&quot;</span><span style="color: #339933;">||</span><span style="color: #000088;">$a</span><span style="color: #339933;">==</span><span style="color: #0000ff;">&quot;ccc&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$user</span> 在被禁名单中&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>用in_array, 这样写好些：</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$exclude_array</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;aaaa&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;bbbb&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;cccc&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$user</span><span style="color: #339933;">,</span><span style="color: #000088;">$exclude_array</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$user</span> 在被禁名单中&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<div id="crp_related"><h3>相关文章：</h3><ul><li><a href="http://dallascao.com/cn/use-cookies-to-remember/" rel="bookmark" class="crp_title">使用 cookies 记住用户上次访问的语言版本（php 代码）</a></li><li><a href="http://dallascao.com/cn/the-context-sensitive-language-versions-link/" rel="bookmark" class="crp_title">环境感知的语言版本链接</a></li><li><a href="http://dallascao.com/cn/520/" rel="bookmark" class="crp_title"></a></li><li><a href="http://dallascao.com/cn/use-of-if-fields/" rel="bookmark" class="crp_title">使用 Miscrosoft Word 的 If 域</a></li><li><a href="http://dallascao.com/cn/use-regular-expressions-in-htaccess-for-redirections/" rel="bookmark" class="crp_title">在 .htaccess 中使用正则表达式来定义转向</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://dallascao.com/cn/php-in_array/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title></title>
		<link>http://dallascao.com/cn/520/</link>
		<comments>http://dallascao.com/cn/520/#comments</comments>
		<pubDate>Sat, 31 Mar 2012 16:26:53 +0000</pubDate>
		<dc:creator>Dallas Cao</dc:creator>
				<category><![CDATA[代码狂]]></category>

		<guid isPermaLink="false">http://dallascao.com/cn/?p=520</guid>
		<description><![CDATA[<p>class文件</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>

<div class="wp_syntax"><div class="code"><span style="color: #666666; font-style: italic;">/*--------------------------[......]</span></div></div><p class='read-more'><a href='http://dallascao.com/cn/520/'>继续阅读</a></p>]]></description>
			<content:encoded><![CDATA[<p>class文件</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/*--------------------------------------------------
 | TAR/GZIP/BZIP2/ZIP ARCHIVE CLASSES 2.1
 | By Devin Doucette
 | Copyright (c) 2005 Devin Doucette
 | Email: darksnoopy@shaw.ca
 +--------------------------------------------------
 | Email bugs/suggestions to darksnoopy@shaw.ca
 +--------------------------------------------------
 | This script has been created and released under
 | the GNU GPL and is free to use and redistribute
 | only if this copyright statement is not removed
 +--------------------------------------------------*/</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> archive
<span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">function</span> archive<span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span>
    <span style="color: #0000ff;">'basedir'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;.&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$name</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'prepend'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'inmemory'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'overwrite'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'recurse'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'storepaths'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'followlinks'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'level'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'method'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'sfx'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'comment'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;&quot;</span>
   <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">files</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">exclude</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">storeonly</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> set_options<span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$value</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basedir'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basedir'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basedir'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basedir'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/\/+/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basedir'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basedir'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/\/$/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basedir'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/\/+/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'prepend'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'prepend'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'prepend'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'prepend'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/^(\.*\/+)+/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'prepend'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'prepend'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/\/+/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'prepend'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'prepend'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/\/$/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'prepend'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> create_archive<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">make_list</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'inmemory'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$pwd</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getcwd</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basedir'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'overwrite'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;gzip&quot;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;bzip&quot;</span> ? <span style="color: #0000ff;">&quot;.tmp&quot;</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;File <span style="color: #006699; font-weight: bold;">{$this-&gt;options['name']}</span> already exists.&quot;</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pwd</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">fopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;gzip&quot;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;bzip&quot;</span> ? <span style="color: #0000ff;">&quot;.tmp&quot;</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;wb+&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
     <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pwd</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not open <span style="color: #006699; font-weight: bold;">{$this-&gt;options['name']}</span> for writing.&quot;</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pwd</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #b1b100;">else</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;zip&quot;</span><span style="color: #339933;">:</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create_zip</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not create zip file.&quot;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;bzip&quot;</span><span style="color: #339933;">:</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create_tar</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not create tar file.&quot;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create_bzip</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not create bzip2 file.&quot;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;gzip&quot;</span><span style="color: #339933;">:</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create_tar</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not create tar file.&quot;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create_gzip</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not create gzip file.&quot;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;tar&quot;</span><span style="color: #339933;">:</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create_tar</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not create tar file.&quot;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
   <span style="color: #009900;">&#125;</span>
&nbsp;
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'inmemory'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">fclose</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;gzip&quot;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;bzip&quot;</span><span style="color: #009900;">&#41;</span>
     <span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basedir'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;/&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;.tmp&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> add_data<span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'inmemory'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
    <span style="color: #990000;">fwrite</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span><span style="color: #339933;">,</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">else</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$data</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> make_list<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">exclude</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">files</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span>
     <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">exclude</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span>
      <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
       <span style="color: #990000;">unset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">files</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">storeonly</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">files</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span>
     <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">storeonly</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span>
      <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
       <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">files</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
   <span style="color: #990000;">unset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">exclude</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">storeonly</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> add_files<span style="color: #009900;">&#40;</span><span style="color: #000088;">$list</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">list_files</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$list</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">files</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$current</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> exclude_files<span style="color: #009900;">&#40;</span><span style="color: #000088;">$list</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">list_files</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$list</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">exclude</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$current</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> store_files<span style="color: #009900;">&#40;</span><span style="color: #000088;">$list</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">list_files</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$list</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">storeonly</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$current</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> list_files<span style="color: #009900;">&#40;</span><span style="color: #000088;">$list</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_array</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$list</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$list</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$list</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">unset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
&nbsp;
   <span style="color: #000088;">$files</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #000088;">$pwd</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getcwd</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basedir'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$list</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$current</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$current</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/\/+/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$current</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/\/$/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;*&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$regex</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/([<span style="color: #000099; font-weight: bold;">\\</span>\^<span style="color: #000099; font-weight: bold;">\$</span>\.\[\]\|\(\)\?\+\{\}\/])/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\\</span>1&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$regex</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;*&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;.*&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$regex</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$dir</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #990000;">strrpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;.&quot;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">parse_dir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$current2</span><span style="color: #009900;">&#41;</span>
      <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/^<span style="color: #006699; font-weight: bold;">{$regex}</span>$/i&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current2</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
       <span style="color: #000088;">$files</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$current2</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">unset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$regex</span><span style="color: #339933;">,</span> <span style="color: #000088;">$dir</span><span style="color: #339933;">,</span> <span style="color: #000088;">$temp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #990000;">is_dir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;dir&quot;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">parse_dir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span>
      <span style="color: #000088;">$files</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$file</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">unset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
     <span style="color: #000088;">$files</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$current</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'name2'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'prepend'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span>
      <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/(\.+\/+)+/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'storepaths'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> ?
      <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #339933;">,</span> <span style="color: #990000;">strrpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
      <span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">@</span><span style="color: #990000;">is_link</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'followlinks'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> ? <span style="color: #cc66cc;">2</span> <span style="color: #339933;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span>
      <span style="color: #0000ff;">'ext'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #339933;">,</span> <span style="color: #990000;">strrpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'stat'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">stat</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
       <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;other error &quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
   <span style="color: #009900;">&#125;</span>  
&nbsp;
   <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pwd</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #990000;">unset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #339933;">,</span> <span style="color: #000088;">$pwd</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #990000;">usort</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$files</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;archive&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;sort_files&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #666666; font-style: italic;">//prt($files); //die;</span>
   <span style="color: #b1b100;">return</span> <span style="color: #000088;">$files</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> parse_dir<span style="color: #009900;">&#40;</span><span style="color: #000088;">$dirname</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'storepaths'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/^(\.+\/*)+$/&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$dirname</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000088;">$files</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$dirname</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'name2'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'prepend'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span>
     <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/(\.+\/+)+/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'storepaths'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dirname</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> ?
     <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dirname</span><span style="color: #339933;">,</span> <span style="color: #990000;">strrpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dirname</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$dirname</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'stat'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">stat</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dirname</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">else</span>
    <span style="color: #000088;">$files</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$dir</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">opendir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dirname</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">readdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$fullname</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$dirname</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;/&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$file</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;.&quot;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$file</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;..&quot;</span><span style="color: #009900;">&#41;</span>
     <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #990000;">is_dir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fullname</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'recurse'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
      <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">parse_dir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fullname</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$file2</span><span style="color: #009900;">&#41;</span>
      <span style="color: #000088;">$files</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$file2</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fullname</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
     <span style="color: #000088;">$files</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$fullname</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'name2'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'prepend'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span>
      <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/(\.+\/+)+/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'storepaths'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fullname</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> ?
      <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fullname</span><span style="color: #339933;">,</span> <span style="color: #990000;">strrpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fullname</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$fullname</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
      <span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">@</span><span style="color: #990000;">is_link</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fullname</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'followlinks'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> ? <span style="color: #cc66cc;">2</span> <span style="color: #339933;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span>
      <span style="color: #0000ff;">'ext'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #339933;">,</span> <span style="color: #990000;">strrpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'stat'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">stat</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fullname</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
&nbsp;
   <span style="color: #339933;">@</span><span style="color: #990000;">closedir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">return</span> <span style="color: #000088;">$files</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> sort_files<span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #339933;">,</span> <span style="color: #000088;">$b</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #000088;">$b</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">5</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$b</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$b</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #990000;">strcmp</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$b</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ext'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #000088;">$b</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ext'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #990000;">strcmp</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ext'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$b</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ext'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #000088;">$b</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$a</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> <span style="color: #000088;">$b</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> ? <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">else</span>
    <span style="color: #b1b100;">return</span> <span style="color: #990000;">strcmp</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$b</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> download_file<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'inmemory'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Can only use download_file() if archive is in memory. Redirect to file otherwise, it is faster.&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;zip&quot;</span><span style="color: #339933;">:</span>
    <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Type: application/zip&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;bzip&quot;</span><span style="color: #339933;">:</span>
    <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Type: application/x-bzip2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;gzip&quot;</span><span style="color: #339933;">:</span>
    <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Type: application/x-gzip&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;tar&quot;</span><span style="color: #339933;">:</span>
    <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Type: application/x-tar&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #000088;">$header</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Content-Disposition: attachment; filename=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$header</span> <span style="color: #339933;">.=</span> <span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #990000;">strrpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$header</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">;</span>
   <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$header</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Length: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Transfer-Encoding: binary&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Cache-Control: no-cache, must-revalidate, max-age=60&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Expires: Sat, 01 Jan 2000 12:00:00 GMT&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> tar_file <span style="color: #000000; font-weight: bold;">extends</span> archive
<span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">function</span> tar_file<span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;tar&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> create_tar<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$pwd</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getcwd</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basedir'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">files</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
     <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">99</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$path</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #990000;">strpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$path</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$path</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">154</span> <span style="color: #339933;">||</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">99</span><span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not add <span style="color: #006699; font-weight: bold;">{$path}</span><span style="color: #006699; font-weight: bold;">{$current['name2']}</span> to archive because the filename is too long.&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000088;">$block</span> <span style="color: #339933;">=</span> <span style="color: #990000;">pack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;a100a8a8a8a12a12a8a1a100a6a2a32a32a8a8a155a12&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #009933; font-weight: bold;">%07o</span>&quot;</span><span style="color: #339933;">,</span> 
     <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #009933; font-weight: bold;">%07o</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #009933; font-weight: bold;">%07o</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> 
     <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #009933; font-weight: bold;">%011o</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">2</span> ? <span style="color: #cc66cc;">0</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #009933; font-weight: bold;">%011o</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">9</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> 
     <span style="color: #0000ff;">&quot;        &quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">2</span> ? <span style="color: #339933;">@</span><span style="color: #990000;">readlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;ustar &quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">,</span> 
     <span style="color: #0000ff;">&quot;Unknown&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;Unknown&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">!</span><span style="color: #990000;">empty</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$path</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$path</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000088;">$checksum</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">512</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
     <span style="color: #000088;">$checksum</span> <span style="color: #339933;">+=</span> <span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$block</span><span style="color: #339933;">,</span> <span style="color: #000088;">$i</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$checksum</span> <span style="color: #339933;">=</span> <span style="color: #990000;">pack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;a8&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #009933; font-weight: bold;">%07o</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$checksum</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$block</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr_replace</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$block</span><span style="color: #339933;">,</span> <span style="color: #000088;">$checksum</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">148</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_data</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$block</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">fopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;rb&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_data</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$block</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1048576</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
      <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_data</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">512</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">512</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">512</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
       <span style="color: #000088;">$temp</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\0</span>&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_data</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #990000;">fclose</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not open file <span style="color: #006699; font-weight: bold;">{$current['name']}</span> for reading. It was not added.&quot;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
&nbsp;
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_data</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">pack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;a1024&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pwd</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> extract_files<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$pwd</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getcwd</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basedir'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">open_archive</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'inmemory'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">files</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$block</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">512</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">unpack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;a100name/a8mode/a8uid/a8gid/a12size/a12mtime/a8checksum/a1type/a100symlink/a6magic/a2temp/a32temp/a32temp/a8temp/a8temp/a155prefix/a12temp&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$block</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$file</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span>
      <span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$temp</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'prefix'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$temp</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
      <span style="color: #0000ff;">'stat'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span>
       <span style="color: #cc66cc;">2</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$temp</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mode'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
       <span style="color: #cc66cc;">4</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">octdec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'uid'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
       <span style="color: #cc66cc;">5</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">octdec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'gid'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
       <span style="color: #cc66cc;">7</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">octdec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'size'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
       <span style="color: #cc66cc;">9</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">octdec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mtime'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
      <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
      <span style="color: #0000ff;">'checksum'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">octdec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'checksum'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
      <span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$temp</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
      <span style="color: #0000ff;">'magic'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$temp</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'magic'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
     <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'checksum'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #208080;">0x00000000</span><span style="color: #009900;">&#41;</span>
      <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'magic'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">&quot;ustar&quot;</span><span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;This script does not support extracting this type of tar file.&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #000088;">$block</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr_replace</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$block</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;        &quot;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">148</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$checksum</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">512</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
      <span style="color: #000088;">$checksum</span> <span style="color: #339933;">+=</span> <span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$block</span><span style="color: #339933;">,</span> <span style="color: #000088;">$i</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'checksum'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #000088;">$checksum</span><span style="color: #009900;">&#41;</span>
      <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not extract from <span style="color: #006699; font-weight: bold;">{$this-&gt;options['name']}</span>, it is corrupt.&quot;</span><span style="color: #339933;">;</span>
&nbsp;
     <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'inmemory'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">512</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">512</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">512</span> ? <span style="color: #cc66cc;">0</span> <span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">512</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">512</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #990000;">unset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'checksum'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'magic'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">files</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$file</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
      <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_dir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
       <span style="color: #990000;">mkdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'overwrite'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">{$file['name']}</span> already exists.&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
      <span style="color: #990000;">symlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'symlink'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #990000;">chmod</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$new</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">fopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;wb&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
      <span style="color: #990000;">fwrite</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$new</span><span style="color: #339933;">,</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">512</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">512</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">512</span> ? <span style="color: #cc66cc;">0</span> <span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">512</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">512</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #990000;">fclose</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$new</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #990000;">chmod</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #b1b100;">else</span>
     <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not open <span style="color: #006699; font-weight: bold;">{$file['name']}</span> for writing.&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #990000;">chown</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">chgrp</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">touch</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">9</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">unset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #b1b100;">else</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not open file <span style="color: #006699; font-weight: bold;">{$this-&gt;options['name']}</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pwd</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> open_archive<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">return</span> <span style="color: #339933;">@</span><span style="color: #990000;">fopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;rb&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> gzip_file <span style="color: #000000; font-weight: bold;">extends</span> tar_file
<span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">function</span> gzip_file<span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tar_file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;gzip&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> create_gzip<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'inmemory'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$pwd</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getcwd</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basedir'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">gzopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;wb<span style="color: #006699; font-weight: bold;">{$this-&gt;options['level']}</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #990000;">fseek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1048576</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
      <span style="color: #990000;">gzwrite</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$temp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">gzclose</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pwd</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not open <span style="color: #006699; font-weight: bold;">{$this-&gt;options['name']}</span> for writing.&quot;</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pwd</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #b1b100;">else</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span> <span style="color: #339933;">=</span> <span style="color: #990000;">gzencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'level'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> open_archive<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">return</span> <span style="color: #339933;">@</span><span style="color: #990000;">gzopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;rb&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> bzip_file <span style="color: #000000; font-weight: bold;">extends</span> tar_file
<span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">function</span> bzip_file<span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tar_file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;bzip&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> create_bzip<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'inmemory'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$pwd</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getcwd</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basedir'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">bzopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;wb&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #990000;">fseek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1048576</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
      <span style="color: #990000;">bzwrite</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$temp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">bzclose</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pwd</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not open <span style="color: #006699; font-weight: bold;">{$this-&gt;options['name']}</span> for writing.&quot;</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pwd</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #b1b100;">else</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span> <span style="color: #339933;">=</span> <span style="color: #990000;">bzcompress</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'level'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> open_archive<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #b1b100;">return</span> <span style="color: #339933;">@</span><span style="color: #990000;">bzopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;rb&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> zip_file <span style="color: #000000; font-weight: bold;">extends</span> archive
<span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">function</span> zip_file<span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">archive</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;zip&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> create_zip<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$files</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$offset</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$central</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sfx'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">fopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sfx'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;rb&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #990000;">filesize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'sfx'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">fclose</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_data</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$offset</span> <span style="color: #339933;">+=</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">unset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not open sfx module from <span style="color: #006699; font-weight: bold;">{$this-&gt;options['sfx']}</span>.&quot;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #000088;">$pwd</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getcwd</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basedir'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">files</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
     <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000088;">$timedate</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Y n j G i s&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">9</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$timedate</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$timedate</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1980</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">25</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$timedate</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">21</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$timedate</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">16</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span>
     <span style="color: #009900;">&#40;</span><span style="color: #000088;">$timedate</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">11</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$timedate</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$timedate</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000088;">$block</span> <span style="color: #339933;">=</span> <span style="color: #990000;">pack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;VvvvV&quot;</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x04034b50</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x000A</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> ? <span style="color: #208080;">0x0000</span> <span style="color: #339933;">:</span> <span style="color: #208080;">0x0008</span><span style="color: #339933;">,</span> <span style="color: #000088;">$timedate</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$block</span> <span style="color: #339933;">.=</span> <span style="color: #990000;">pack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;VVVvv&quot;</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x00000000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x00000000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x00000000</span><span style="color: #339933;">,</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$block</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_data</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$block</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$central</span> <span style="color: #339933;">.=</span> <span style="color: #990000;">pack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;VvvvvVVVVvvvvvVV&quot;</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x02014b50</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0014</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> ? <span style="color: #208080;">0x0000</span> <span style="color: #339933;">:</span> <span style="color: #208080;">0x000A</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span>
      <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> ? <span style="color: #208080;">0x0000</span> <span style="color: #339933;">:</span> <span style="color: #208080;">0x0008</span><span style="color: #339933;">,</span> <span style="color: #000088;">$timedate</span><span style="color: #339933;">,</span>
      <span style="color: #208080;">0x00000000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x00000000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x00000000</span><span style="color: #339933;">,</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">5</span> ? <span style="color: #208080;">0x00000010</span> <span style="color: #339933;">:</span> <span style="color: #208080;">0x00000000</span><span style="color: #339933;">,</span> <span style="color: #000088;">$offset</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$central</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;/&quot;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$files</span><span style="color: #339933;">++;</span>
     <span style="color: #000088;">$offset</span> <span style="color: #339933;">+=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">31</span> <span style="color: #339933;">+</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$block</span> <span style="color: #339933;">.=</span> <span style="color: #990000;">pack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;VVVvv&quot;</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x00000000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x00000000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x00000000</span><span style="color: #339933;">,</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$block</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_data</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$block</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$central</span> <span style="color: #339933;">.=</span> <span style="color: #990000;">pack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;VvvvvVVVVvvvvvVV&quot;</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x02014b50</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0014</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> ? <span style="color: #208080;">0x0000</span> <span style="color: #339933;">:</span> <span style="color: #208080;">0x000A</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span>
      <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> ? <span style="color: #208080;">0x0000</span> <span style="color: #339933;">:</span> <span style="color: #208080;">0x0008</span><span style="color: #339933;">,</span> <span style="color: #000088;">$timedate</span><span style="color: #339933;">,</span>
      <span style="color: #208080;">0x00000000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x00000000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x00000000</span><span style="color: #339933;">,</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'type'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">5</span> ? <span style="color: #208080;">0x00000010</span> <span style="color: #339933;">:</span> <span style="color: #208080;">0x00000000</span><span style="color: #339933;">,</span> <span style="color: #000088;">$offset</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$central</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$files</span><span style="color: #339933;">++;</span>
     <span style="color: #000088;">$offset</span> <span style="color: #339933;">+=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">30</span> <span style="color: #339933;">+</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">fopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;rb&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
     <span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">fclose</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$crc32</span> <span style="color: #339933;">=</span> <span style="color: #990000;">crc32</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
     <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">gzcompress</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'level'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000088;">$size</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">6</span><span style="color: #339933;">;</span>
      <span style="color: #000088;">$temp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span> <span style="color: #000088;">$size</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #b1b100;">else</span>
      <span style="color: #000088;">$size</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$block</span> <span style="color: #339933;">.=</span> <span style="color: #990000;">pack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;VVVvv&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$crc32</span><span style="color: #339933;">,</span> <span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$block</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_data</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$block</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_data</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #990000;">unset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$central</span> <span style="color: #339933;">.=</span> <span style="color: #990000;">pack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;VvvvvVVVVvvvvvVV&quot;</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x02014b50</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0014</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> ? <span style="color: #208080;">0x0000</span> <span style="color: #339933;">:</span> <span style="color: #208080;">0x000A</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span>
      <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'method'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> ? <span style="color: #208080;">0x0000</span> <span style="color: #339933;">:</span> <span style="color: #208080;">0x0008</span><span style="color: #339933;">,</span> <span style="color: #000088;">$timedate</span><span style="color: #339933;">,</span>
      <span style="color: #000088;">$crc32</span><span style="color: #339933;">,</span> <span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x00000000</span><span style="color: #339933;">,</span> <span style="color: #000088;">$offset</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$central</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
     <span style="color: #000088;">$files</span><span style="color: #339933;">++;</span>
     <span style="color: #000088;">$offset</span> <span style="color: #339933;">+=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">30</span> <span style="color: #339933;">+</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$size</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span>
     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Could not open file <span style="color: #006699; font-weight: bold;">{$current['name']}</span> for reading. It was not added.&quot;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
&nbsp;
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_data</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$central</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_data</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">pack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;VvvvvVVv&quot;</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x06054b50</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span> <span style="color: #208080;">0x0000</span><span style="color: #339933;">,</span> <span style="color: #000088;">$files</span><span style="color: #339933;">,</span> <span style="color: #000088;">$files</span><span style="color: #339933;">,</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$central</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$offset</span><span style="color: #339933;">,</span>
    <span style="color: #339933;">!</span><span style="color: #990000;">empty</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #208080;">0x0000</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_data</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #990000;">chdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pwd</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>例子</p>
<p>&#8212;&#8212;&#8212;-</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//TAR/GZIP/BZIP2/ZIP ARCHIVE CLASSES Examples</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//Examples of Compression:</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//The following example creates a gzipped tar file:</span>
<span style="color: #666666; font-style: italic;">// Assume the following script is executing in /var/www/htdocs/test</span>
<span style="color: #666666; font-style: italic;">// Create a new gzip file test.tgz in htdocs/test</span>
<span style="color: #000088;">$test</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> gzip_file<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;htdocs/test/test.tgz&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Set basedir to &quot;../..&quot;, which translates to /var/www</span>
<span style="color: #666666; font-style: italic;">// Overwrite /var/www/htdocs/test/test.tgz if it already exists</span>
<span style="color: #666666; font-style: italic;">// Set compression level to 1 (lowest)</span>
<span style="color: #666666; font-style: italic;">//$test-&gt;set_options(array('basedir' =&gt; &quot;../..&quot;, 'overwrite' =&gt; 1, 'level' =&gt; 1));</span>
<span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">set_options</span><span style="color: #009900;">&#40;</span>
<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
<span style="color: #0000ff;">'basedir'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$modpath</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">'inmemory'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//不在内存压缩.而是直接存放到磁盘.如果要压缩下载,则可以选择为1</span>
<span style="color: #0000ff;">'recurse'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//是否压缩子目录，resurse，递归的意思？</span>
<span style="color: #0000ff;">'storepaths'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//是否存储目录结构，我选是。</span>
<span style="color: #0000ff;">'overwrite'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//是否覆盖</span>
<span style="color: #0000ff;">'level'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">5</span> <span style="color: #339933;">,</span><span style="color: #666666; font-style: italic;">//压缩比</span>
<span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$zipFileName</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//压缩最后生成的文件名，无需再次设置。这里是为了解说方便才放上来的。</span>
<span style="color: #0000ff;">'prepend'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//未知</span>
<span style="color: #0000ff;">'followlinks'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//未知</span>
<span style="color: #0000ff;">'method'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//未知</span>
<span style="color: #0000ff;">'sfx'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//不知道什么意思</span>
<span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;zip&quot;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//是zip还是tar...,无需设置，这里为了方便解说。放上来。</span>
<span style="color: #0000ff;">'comment'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;&quot;</span>
<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Add entire htdocs directory and all subdirectories</span>
<span style="color: #666666; font-style: italic;">// Add all php files in htsdocs and its subdirectories</span>
<span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_files</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;htdocs&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;htsdocs/*.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Exclude all jpg files in htdocs and its subdirectories</span>
<span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">exclude_files</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;htdocs/*.jpg&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Create /var/www/htdocs/test/test.tgz</span>
<span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create_archive</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Check for errors (you can check for errors at any point)</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">errors</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
<span style="color: #b1b100;">print</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Errors occurred.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Process errors here</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//The following example creates a zip file:</span>
<span style="color: #666666; font-style: italic;">// Create new zip file in the directory below the current one</span>
<span style="color: #000088;">$test</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> zip_file<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;../example.zip&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// All files added will be relative to the directory in which the script is </span>
<span style="color: #666666; font-style: italic;">//    executing since no basedir is set.</span>
<span style="color: #666666; font-style: italic;">// Create archive in memory</span>
<span style="color: #666666; font-style: italic;">// Do not recurse through subdirectories</span>
<span style="color: #666666; font-style: italic;">// Do not store file paths in archive</span>
<span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">set_options</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'inmemory'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'recurse'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'storepaths'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Add lib/archive.php to archive</span>
<span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_files</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;src/archive.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Add all jpegs and gifs in the images directory to archive</span>
<span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_files</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;images/*.jp*g&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;images/*.gif&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Store all exe files in bin without compression</span>
<span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">store_files</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;bin/*.exe&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Create archive in memory</span>
<span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create_archive</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Send archive to user for download</span>
<span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">download_file</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//Examples of Decompression:</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//The following example extracts a bzipped tar file:</span>
<span style="color: #666666; font-style: italic;">// Open test.tbz2</span>
<span style="color: #000088;">$test</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> bzip_file<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;test.tbz2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Overwrite existing files</span>
<span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">set_options</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'overwrite'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Extract contents of archive to disk</span>
<span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">extract_files</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//The following example extracts a tar file:</span>
<span style="color: #666666; font-style: italic;">// Open archives/test.tar</span>
<span style="color: #000088;">$test</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> tar_file<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;archives/test.tar&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Extract in memory</span>
<span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">set_options</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'inmemory'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Extract archive to memory</span>
<span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">extract_files</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Write out the name and size of each file extracted</span>
<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$test</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">files</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span>
<span style="color: #b1b100;">print</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;File &quot;</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; is &quot;</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'stat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; bytes<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<div id="crp_related"><h3>相关文章：</h3><ul><li><a href="http://dallascao.com/cn/use-cookies-to-remember/" rel="bookmark" class="crp_title">使用 cookies 记住用户上次访问的语言版本（php 代码）</a></li><li><a href="http://dallascao.com/cn/plaintext/" rel="bookmark" class="crp_title">PlainText 1.10</a></li><li><a href="http://dallascao.com/cn/use-regular-expressions-in-htaccess-for-redirections/" rel="bookmark" class="crp_title">在 .htaccess 中使用正则表达式来定义转向</a></li><li><a href="http://dallascao.com/cn/%e7%82%b9%e5%87%bb%e5%8d%95%e5%85%83%e6%a0%bc%e5%8f%98%e8%89%b2%e7%9a%84%e4%bb%a3%e7%a0%81/" rel="bookmark" class="crp_title">点击单元格变色的代码</a></li><li><a href="http://dallascao.com/cn/windows-mobile-wm-opvenvpn/" rel="bookmark" class="crp_title">Windows Mobile (wm) 可用的OpvenVPN客户端</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://dallascao.com/cn/520/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mysql 错误处理</title>
		<link>http://dallascao.com/cn/mysql-error-handle/</link>
		<comments>http://dallascao.com/cn/mysql-error-handle/#comments</comments>
		<pubDate>Sat, 31 Mar 2012 05:41:42 +0000</pubDate>
		<dc:creator>Dallas Cao</dc:creator>
				<category><![CDATA[代码狂]]></category>

		<guid isPermaLink="false">http://dallascao.com/cn/?p=516</guid>
		<description><![CDATA[<p>网上的例子经常使用die()来处理mysql错误：即显示错误内容并中止程序。其实这样做是有一定危险的，尤其是代码中有敏感内容的时候，如密码，api 吗等。如果mysql出错，用户就有可能获得这些敏感内容。</p>
<p>而且作为一个用于生产的成品，这样相当地用户不友好。可以用mysql_errno()，对不同错误[......]</p><p class='read-more'><a href='http://dallascao.com/cn/mysql-error-handle/'>继续阅读</a></p>]]></description>
			<content:encoded><![CDATA[<p>网上的例子经常使用die()来处理mysql错误：即显示错误内容并中止程序。其实这样做是有一定危险的，尤其是代码中有敏感内容的时候，如密码，api 吗等。如果mysql出错，用户就有可能获得这些敏感内容。</p>
<p>而且作为一个用于生产的成品，这样相当地用户不友好。可以用mysql_errno()，对不同错误进行处理：</p>
<p>$error_message = mysql_error();</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO the_itemsordered (
orderref,
product,
quantity,
test,
date)
VALUES(
'&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$OrderReference</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;',
'&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$OrderProductNames</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;',
'&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$Quantity</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;',
'&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$OrderIsTest</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;',
CURRENT_TIMESTAMP )&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$error_no</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_errno</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$error_message</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_error</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$error_no</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">//出错</span>
<span style="color: #666666; font-style: italic;">//bla bla</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<div id="crp_related"><h3>相关文章：</h3><ul><li><a href="http://dallascao.com/cn/change-your-php-and-mysql-timezone/" rel="bookmark" class="crp_title">修改php和mysql的时区</a></li><li><a href="http://dallascao.com/cn/use-cookies-to-remember/" rel="bookmark" class="crp_title">使用 cookies 记住用户上次访问的语言版本（php 代码）</a></li><li><a href="http://dallascao.com/cn/520/" rel="bookmark" class="crp_title"></a></li><li><a href="http://dallascao.com/cn/use-of-if-fields/" rel="bookmark" class="crp_title">使用 Miscrosoft Word 的 If 域</a></li><li><a href="http://dallascao.com/cn/the-context-sensitive-language-versions-link/" rel="bookmark" class="crp_title">环境感知的语言版本链接</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://dallascao.com/cn/mysql-error-handle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>喜欢BudgetVM处理宕机的方式</title>
		<link>http://dallascao.com/cn/like-budgetvm/</link>
		<comments>http://dallascao.com/cn/like-budgetvm/#comments</comments>
		<pubDate>Mon, 27 Feb 2012 03:08:53 +0000</pubDate>
		<dc:creator>Dallas Cao</dc:creator>
				<category><![CDATA[全球互联网]]></category>

		<guid isPermaLink="false">http://dallascao.com/cn/?p=504</guid>
		<description><![CDATA[<p>其实我说我不喜欢折腾，那是在撒谎。年纪一大把了，有时候还会没日没夜地瞎折腾。前段时间虚拟主机出现问题，情急之中，买了<a href="http://www.enzu.com/account/aff.php?aff=184">budgtvm</a>的 vps，玩起了linux，重装了两三次系统，乐此不疲。</p>
<p><a href="http://www.enzu.com/account/aff.php?aff=184">budgetvm</a>的机器一直很稳定，几个星期来，用monitor.us监控，图上的线像死人的心电图一样平稳。不过[......]</p><p class='read-more'><a href='http://dallascao.com/cn/like-budgetvm/'>继续阅读</a></p>]]></description>
			<content:encoded><![CDATA[<p>其实我说我不喜欢折腾，那是在撒谎。年纪一大把了，有时候还会没日没夜地瞎折腾。前段时间虚拟主机出现问题，情急之中，买了<a href="http://www.enzu.com/account/aff.php?aff=184">budgtvm</a>的 vps，玩起了linux，重装了两三次系统，乐此不疲。</p>
<p><a href="http://www.enzu.com/account/aff.php?aff=184">budgetvm</a>的机器一直很稳定，几个星期来，用monitor.us监控，图上的线像死人的心电图一样平稳。不过昨天开始出现访问速度慢，ping掉包的问题。有意思的是，budgetvm的vps稳定的时候，我天天琢磨着换个服务商。这次出了问题，看到了他们处理的问题的方式，我反而决定不换了。</p>
<p>出了问题后我提交了小票，今天早上收到回答，当然不算是很快。但回信的Nick友好而诚恳，先解释了原因，然后保证说他们正在十分努力地解决问题，几个小时后就会彻底解决问题，而且还给了我半个月的补偿！</p>
<p>vps也好，主机也好，还是国外的靠谱些，他们没有QQ客服，也没有群，一般也不会有24小时的实时帮助，不用中文，国人用起来觉得不习惯。但是，以下几个关键国内vps提供商是没法比的。</p>
<p>1. 说不超卖，就不超卖（看各人如何定义超卖了）。一个服务器到达了一定承载力，宁愿暂时歇业，也不再放新客户。一般情况下别期望国人有如此强的原则性。</p>
<p>2. 论技术能力，总得来讲，还是老美有经验和实力。</p>
<p>3. 属于自己的硬件。</p>
<p>4. 出现宕机等问题承诺有补偿，就会补偿。</p>
<p>无论国内还是国外，指望一出问题就立即得到回应和解决都是不现实的。当然国内人力便宜，一般会有在线QQ听你抱怨一下，给你点心理安慰。国外很少会有能得到实时回应的情况，都要先提交小票的。</p>
<p>&nbsp;</p>
<div id="crp_related"><h3>相关文章：</h3><ul><li><a href="http://dallascao.com/cn/some-good-vps-providers/" rel="bookmark" class="crp_title">几个靠谱的vps提供商</a></li><li><a href="http://dallascao.com/cn/%e5%ad%b5%e8%9b%8b%e5%99%a8%e8%af%b4%e6%98%8e%e4%b9%a6/" rel="bookmark" class="crp_title">孵蛋器说明书</a></li><li><a href="http://dallascao.com/cn/528/" rel="bookmark" class="crp_title"></a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://dallascao.com/cn/like-budgetvm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>几个靠谱的vps提供商</title>
		<link>http://dallascao.com/cn/some-good-vps-providers/</link>
		<comments>http://dallascao.com/cn/some-good-vps-providers/#comments</comments>
		<pubDate>Sat, 25 Feb 2012 16:42:38 +0000</pubDate>
		<dc:creator>Dallas Cao</dc:creator>
				<category><![CDATA[全球互联网]]></category>

		<guid isPermaLink="false">http://dallascao.com/cn/?p=496</guid>
		<description><![CDATA[<p>研究了几天，感觉比较靠谱的vps供应商有：</p>
<p>1. <a title="budgetvm" href="http://www.enzu.com/account/aff.php?aff=184">http://budgetvm.com/</a></p>
<p>公司形象有点土气，不够酷，还搞了个老土的our mission什么的。我用的就是他们洛杉矶的服务器</p>
<p>价格便宜；服务反应速度中等；稳定性优秀，用monitor.us观察了很长时间，图表像死人的心电图一样，不带跳[......]</p><p class='read-more'><a href='http://dallascao.com/cn/some-good-vps-providers/'>继续阅读</a></p>]]></description>
			<content:encoded><![CDATA[<p>研究了几天，感觉比较靠谱的vps供应商有：</p>
<p>1. <a title="budgetvm" href="http://www.enzu.com/account/aff.php?aff=184">http://budgetvm.com/</a></p>
<p>公司形象有点土气，不够酷，还搞了个老土的our mission什么的。我用的就是他们洛杉矶的服务器</p>
<p>价格便宜；服务反应速度中等；稳定性优秀，用monitor.us观察了很长时间，图表像死人的心电图一样，不带跳的；la的硬件不好，探针测试各项指标倒数第一。不过，稳定就好，我很满意。</p>
<p>2. <a href="http://ramhost.us/">http://ramhost.us/</a></p>
<p>口碑好，连续多次在lowendbox.com最佳vps评选中获得第一。从网上的记录来看，网站站长不够友好，急了会骂人，一些他觉得的滥用的客户，可能直接给你删除没商量。这个服务商的独特之处是公布各个服务器的各项监控记录，同时公布pingdom.com对其各服务器的监控记录，你可以看到服务器的真实情况，确定服务器没有超卖，还可以看到他们的服务器历史在线率。买他的服务器，即使是最便宜的15美元一年的vps (tinyvz.com)，心里也踏实。</p>
<p>3. <a href="http://www.evorack.com">http://www.evorack.com</a></p>
<p>国外评价也比较高。可惜只有伦敦机房，国内访问速度一般。特点是服务特别专业到位，网站文字及客服都让你觉得自己像个贵客，恨不能一口一个亲字。跟ramhost.us及homezz.com的东哥形成鲜明对比。</p>
<p>4. <a href="http://www.leaseweb.com/">http://www.leaseweb.com</a></p>
<p>这可是个建于上个世纪90年代初的老古董级公司。价格也合理，leaseweb提供低价独服（35欧元一个月）。网上的口碑不错，不过骂的人也不在少数。wikipedia的服务器就在它那。我需要独服的话就找它。机房在荷兰阿姆斯特丹，国内访问速度一般。</p>
<p>再加两个</p>
<p>5. <a href="http://prgmr.com/">http://prgmr.com</a> ，网标题都是用文本符号堆成的，副标题是：“我们不假设你是小白。”</p>
<p>创始时间：2005</p>
<p>虚拟技术：Xen</p>
<p>操作系统：Linux</p>
<p>入门套餐：$5/月 64M RAM+512M swap, 1.5GB 空间，10G流量</p>
<p>服务器位置：未知</p>
<p>据说店主是个出过多本书的技术高人，感觉值得托付。</p>
<p>6. <a href="https://hostigation.com/">https://hostigation.com/</a></p>
<p>首页就一句话：欢迎，我们以疯颠颠的价格提供疯颠颠的套餐，疯了！</p>
<p>创始时间：2006，lowendbox优秀vps前几名。</p>
<p>虚拟技术：KVM, OpenVZ, 独立主机</p>
<p>操作系统：Linux</p>
<p>入门套餐：KVM $30/年，128M RAM, 10G空间，500G流量<br />
OpenVZ $20/年，128/256M RAM, 10G空间，500GB流量</p>
<p>服务器位置：Charlotte（北卡，美国东南），LA（美国西海岸）</p>
<p>欢迎添加。</p>
<div id="crp_related"><h3>相关文章：</h3><ul><li><a href="http://dallascao.com/cn/like-budgetvm/" rel="bookmark" class="crp_title">喜欢BudgetVM处理宕机的方式</a></li><li><a href="http://dallascao.com/cn/friendfeedtranslate/" rel="bookmark" class="crp_title">friendfeedTranslate：将所有语言译成一种语言</a></li><li><a href="http://dallascao.com/cn/520/" rel="bookmark" class="crp_title"></a></li><li><a href="http://dallascao.com/cn/528/" rel="bookmark" class="crp_title"></a></li><li><a href="http://dallascao.com/cn/two-translation-mistakes-in-cpanel/" rel="bookmark" class="crp_title">中文版 cpanel 中的两个翻译错误</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://dallascao.com/cn/some-good-vps-providers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>孵蛋器说明书</title>
		<link>http://dallascao.com/cn/%e5%ad%b5%e8%9b%8b%e5%99%a8%e8%af%b4%e6%98%8e%e4%b9%a6/</link>
		<comments>http://dallascao.com/cn/%e5%ad%b5%e8%9b%8b%e5%99%a8%e8%af%b4%e6%98%8e%e4%b9%a6/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 11:07:08 +0000</pubDate>
		<dc:creator>Dallas Cao</dc:creator>
				<category><![CDATA[疯狂的中国]]></category>

		<guid isPermaLink="false">http://dallascao.com/cn/?p=493</guid>
		<description><![CDATA[<p>本店6枚孵化器大30%，原来的普通鸡蛋可以孵化6个，现在的9个，放2层就是15个，元宝鸡，绿壳鸡、山鸡、鸽子可以孵化12-15个，放2层的话可以21-27个，鹌鹑的蛋可以15-18个，2层就是27-33个。随时有蛋随时放进去孵化（用笔写上日期便于区别）</p>
<p>&#160;</p>
<p><span style="color: #000000;"><span style="color: #000000;">注意：如孵化鸟蛋类小型蛋请提前告[......]</span></span></p><p class='read-more'><a href='http://dallascao.com/cn/%e5%ad%b5%e8%9b%8b%e5%99%a8%e8%af%b4%e6%98%8e%e4%b9%a6/'>继续阅读</a></p>]]></description>
			<content:encoded><![CDATA[<p>本店6枚孵化器大30%，原来的普通鸡蛋可以孵化6个，现在的9个，放2层就是15个，元宝鸡，绿壳鸡、山鸡、鸽子可以孵化12-15个，放2层的话可以21-27个，鹌鹑的蛋可以15-18个，2层就是27-33个。随时有蛋随时放进去孵化（用笔写上日期便于区别）</p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="color: #000000;">注意：如孵化鸟蛋类小型蛋请提前告知，会配备鸟蛋转轴（两根），不事先告知的，均不配送。</span></span></p>
<p align="left">
<p align="left">一、概述 本孵化器主要用于鸡、鸭、鹅等种蛋进行孵化，通过对温度及孵化时间的设定可用于不同种类种蛋的孵化。仪器采用智能化的控制方式，具有自动恒温、自动翻蛋、自动加湿功能，具有使用方便，安全可靠的特点，可广泛用于各类实验室进行种蛋的孵化。</p>
<p align="left">二、参数 1、电源电压：220（1<span style="font-family: Times New Roman;">±</span>10%）V , 50Hz 2、消耗功率：＜20W 3、工作温度：10-35<span style="font-family: Times New Roman;">℃</span> 4、环境湿度：10-70%RH 5、温稳范围：26.0-42.0<span style="font-family: Times New Roman;">℃</span> 6、恒温精度：<span style="font-family: Times New Roman;">±</span>0.1<span style="font-family: Times New Roman;">℃</span> 7、分辨率：<span style="font-family: Times New Roman;">±</span>0.1<span style="font-family: Times New Roman;">℃</span> 8、定时时间：0-60天 9、单次孵化数量：9只 10、来电保持</p>
<p align="left">三、使用方法 1、放蛋 将选好的种蛋放置于孵化器内，每隔内可放置2枚种蛋，盖好透明罩。 2、孵化时间和温度调节 插上电源，仪器显示当前温度值。 <span style="font-family: Times New Roman;">①</span>时间设定: 按住<span style="font-family: Times New Roman;">“</span>设置/确认<span style="font-family: Times New Roman;">”</span>键三秒不放，仪器显示的十位数闪烁，此时按动<span style="font-family: Times New Roman;">“∧”</span>或<span style="font-family: Times New Roman;">“∨</span>键数码管0-6变化，按一下<span style="font-family: Times New Roman;">“</span>设置/确认<span style="font-family: Times New Roman;">”</span>键闪烁位移到个位，按<span style="font-family: Times New Roman;">“∧”</span>或<span style="font-family: Times New Roman;">“∨”</span>键数码管0-9变化，个位调节完毕后再按一下<span style="font-family: Times New Roman;">“</span>设置/确认<span style="font-family: Times New Roman;">”</span>键，转入温度设定状态。根据不同种类孵化时间的需要进行1<span style="font-family: Times New Roman;">—</span>60天任意设定。 <span style="font-family: Times New Roman;">②</span>温度设定：当时间天数设定完成后自动转到温度设定状态，此时百位数闪烁，此时按动<span style="font-family: Times New Roman;">“∧”</span>或<span style="font-family: Times New Roman;">“∨</span>键数码管2-4变化，按一下<span style="font-family: Times New Roman;">“</span>设置/确认<span style="font-family: Times New Roman;">”</span>键闪烁位移到十位，此时按动<span style="font-family: Times New Roman;">“∧”</span>或<span style="font-family: Times New Roman;">“∨</span>键数码管0-9变化，按一下<span style="font-family: Times New Roman;">“</span>设置/确认<span style="font-family: Times New Roman;">”</span>键闪烁位移到个位，此时按动<span style="font-family: Times New Roman;">“∧”</span>或<span style="font-family: Times New Roman;">“∨</span>键数码管0-9变化，个位温度调节完毕后再按一下<span style="font-family: Times New Roman;">“</span>设置/确认<span style="font-family: Times New Roman;">”</span>键，温度设定完成。根据不同种类孵化温度的需要进行26.0<span style="font-family: Times New Roman;">—</span>42.0度任意设定。 <span style="font-family: Times New Roman;">③</span>当时间和温度设定完成后，仪器自动进入正常工作状态，工作指示灯闪烁发光，显示窗数码管显示当前温度值。 注意:A当进入时间天数或温度设置时,而手动无操作约十秒钟左右自动转入工作状态。 B只有当<span style="font-family: Times New Roman;">①</span>和<span style="font-family: Times New Roman;">②</span>设定步骤全部完成后时间和温度设置才有效。否则设置无效。 <span style="font-family: Times New Roman;">④</span>在正常孵化期间按<span style="font-family: Times New Roman;">“</span>设置/确认<span style="font-family: Times New Roman;">”</span>键还可对设置温度和天数进行查看。 <span style="font-family: Times New Roman;">⑤</span>在正常孵化期间按<span style="font-family: Times New Roman;">“∧”</span>键还可对运行倒计时天数进行查看。 如遇中途停电，等来电后时间保持为停电时运行的数据（即来电保持）,仪器自动进入工作状态。 3、自动报警 当设定的时间工作运行结束后数码管显示<span style="font-family: Times New Roman;">“</span>E<span style="font-family: Times New Roman;">”</span>，同时发出声音报警。 4、湿度控制 为保障蛋胚的正常发育，孵化期孵化器内要保持一定的湿度，因此内部储水盒内每隔几天要加一次水，储水盒在孵化器侧面，可直接观察到储水盒内的水位，孵化时应保持储水盒内有水，仪器会将湿度自动控制在合适的范围内。 5、翻蛋 蛋架每隔三个小时会自动翻蛋一次，将蛋种翻转180度左右，以保证禽蛋受热均匀，避免胚盘与内壳膜粘连导致死胚。孵化器会在出雏前三天自动停止翻蛋。 6、照蛋 入孵第五天起每隔几天就可以将蛋取出，对着强光观察胚胎在蛋内发育的变化，剔除没有受精的蛋，注意时间不要太长和在温度过高或过低的环境中进行。（具体参照后文介绍） 7、雏后的使用 出雏前三天，可将蛋从蛋框中取出，将蛋平放在孵化器内，以便于出雏后有一定的活动空间，为使幼雏能更好的适应孵化器外的温度，可将它们继续放在孵化器内，直到它们可以适应室外的温度（视当时温度而定）。 四、孵化常识 1、种蛋的选择及保存 种蛋品质的好坏直接影响出雏率的高低，也关系到育雏的成活率，所以选择种蛋必须注意以下事项： 1）种蛋必须新鲜，一般是产蛋后10内的受精蛋最好。春季保存种蛋不宜超过7-10天，夏季不宜超过5天，保存种蛋最适宜的温度为10-15度，新鲜蛋表面有一层粉状物覆盖，色泽鲜艳。 2）鸡蛋重量一般在55-60克，鸭蛋一般在80-90克，鹅蛋一般在160-200克为宜，蛋壳要求无斑点、无裂纹、破皮、麻皮、薄皮、厚皮等现象。 2、孵化禽蛋的基本条件 1）、温度：适宜的温度是孵化的首要条件，鸡蛋的温度保持在37.6度为宜。 2）、湿度：湿度对家禽的胚胎发育也有很大的作用，本产品已设计好合适有湿度，只需要在水盒内注入自来水就可以了。 3）通风：胚胎的发育要不断<span style="font-family: Times New Roman;">“</span>呼吸<span style="font-family: Times New Roman;">”</span>氧气，在孵化箱内有一只小风扇就是用来通风换气的。 4）、翻蛋：是将种蛋定时翻动，经常变换位置使其受热均匀，有利于胚胎发育。如不定时翻蛋，或时间间隔太久，胚盘就会与内壳膜粘在一起，入孵的胚胎就有致死的危险。 3、种蛋孵化效果的检查照蛋 1）一般照日蛋日期（见下表） 验蛋日期</p>
<p align="left">种蛋温度第一次第二次第三次 鸡37.6 5天11天19天 鸭37.2-37.8 7天13天26天 鹅37-37.6 8天15天28天 2）照蛋方法 照蛋时，在一张黑纸上开个小洞（比蛋稍小一点）左手拿纸，右手中食指拿蛋的两端，将种蛋尽量紧靠纸孔，对着强光观察蛋胚的发育情况。观察时，右手中指轻轻转动种蛋检查，照蛋过程要做到轻/快/准，防止种蛋破损，并及时检出死胚蛋。 第一次验蛋：主要检查种蛋的受精情况，挑出无精蛋、散黄蛋和死精蛋。如果是正常的受精蛋（活胚蛋），其胚蛋和卵黄囊血管网可以看到血管均匀分布，颜色发红，蛋黄下沉。胚胎眼球内大量黑色素沉积，照蛋可见黑色眼珠，无精蛋的蛋黄悬于中线内，无精蛋没有发育，蛋体透明度大，有时隐约可见蛋黄浮动暗影。散黄蛋在验蛋时一般看不到血管。不规则形状的蛋黄飘悬于蛋有中线附近。死胚蛋则蛋内物混浊，颜色发黑，看不到正常的血管。 第二次验蛋：发育良好的胚胎变大，血管满布蛋内，气室大而边界分明。尿囊已经合扰并包围蛋的所有内容物，蛋的小端血管满布蛋内，谷称<span style="font-family: Times New Roman;">“</span>合扰<span style="font-family: Times New Roman;">”</span>。若是死蛋，在验蛋时可见蛋内显出黑影，周围见不到血管，或血管模糊，蛋内物混浊，颜色发黄。 第三次验蛋：以小端对准光源，发育良好的胚胎体形更大，蛋内为胚胎所充满，看不到光亮的部分，若是死胚蛋内血管模糊不清，靠近气室的部分发黄，蛋内物与气室的界限不明显。 4、照蛋示意图 1）不可孵化 2）正常孵化（见图二） 5、出雏后的管理 刚出壳的幼禽24小时以内可以不用喂食，目的是让它们消化道产生一定的抵抗力，之后可以喂一些玉米粉和小米之类的细小食物和清洁水，如当时的气温比较低，可将出如雏的幼禽继续放在孵化器内继续饲养，直到它们的羽毛长全。 6、各种家禽的孵化期 鸡21天 鸭28天  鹅31天 五、注意事项 1、仪器具有断电记忆数据功能，当仪器在正常工作中遇停电时，可自动保存当前工作状态。在来电时继续工作（当长时间断电时注意检查蛋的孵化情况），在工作状态中如需要恢复到初始化工作状态时，则重新设置。 2、每次使用完毕应将内部蛋壳等清理干净，并将储水盒内残留水倒掉。 3、当室温较低时可将孵化器放置于外包装盒内，以增加恒温效果。 4、仪器应放置于干燥，无阳光直射地方。 5、长期不使用仪器应每隔三个月左右取出通电一小时以上，以保持内部电路工作正常。</p>
<p align="left">附：家禽胚胎不同胎龄发育的外部特征 胎龄主要特征 鸡鸭鹅 2 2 2出现血管,前羊膜开始发育 3 4 5眼开始色素沉着,出现四肢的原基 4 5 5肉眼可明显看到尿囊 7 7 8出现口腔 9 10 12背后出现绒毛,喙开成 10 13 14尿囊合拢 13 15 15眼皮达到瞳孔,头覆盖初级绒毛 14 15 18胚胎整个覆盖羽毛 15 18 22眼皮合闭 16-18 21 23蛋白全被利用它 19 23 24-26蛋黄开始被吸收,眼开始睁开</p>
<p>&nbsp;</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td colspan="7" width="436"><span style="color: #000000;">鸟禽孵化参数</span></td>
</tr>
<tr>
<td rowspan="2" width="59"><span style="color: #000000;">鸟禽名称</span></td>
<td rowspan="2" width="53"><span style="color: #000000;">孵出天数</span></td>
<td colspan="2" width="133"><span style="color: #000000;">孵化期</span></td>
<td colspan="2" width="132"><span style="color: #000000;">出雏期</span></td>
<td width="59"><span style="color: #000000;">种蛋重量</span></td>
</tr>
<tr>
<td width="77"><span style="color: #000000;">温度<span style="font-family: Times New Roman;">±</span>0.5<span style="font-family: Times New Roman;">℃</span></span></td>
<td width="56"><span style="color: #000000;">湿度％</span></td>
<td width="77"><span style="color: #000000;">温度<span style="font-family: Times New Roman;">±</span>0.5<span style="font-family: Times New Roman;">℃</span></span></td>
<td width="55"><span style="color: #000000;">湿度％</span></td>
<td width="59"><span style="color: #000000;">克</span></td>
</tr>
<tr>
<td width="59"><span style="color: #000000;">鸡</span></td>
<td width="53"><span style="color: #000000;">21</span></td>
<td width="77"><span style="color: #000000;">37.6 （宠物超人的说明书上注的是37.8)</span></td>
<td width="56"><span style="color: #000000;">55-70</span></td>
<td width="77"><span style="color: #000000;">37.5</span></td>
<td width="55"><span style="color: #000000;">65-85</span></td>
<td width="59"><span style="color: #000000;">50-60</span></td>
</tr>
<tr>
<td width="59"><span style="color: #000000;">孔雀</span></td>
<td width="53"><span style="color: #000000;">28</span></td>
<td width="77"><span style="color: #000000;">37.6</span></td>
<td width="56"><span style="color: #000000;">60-75</span></td>
<td width="77"><span style="color: #000000;">37.3</span></td>
<td width="55"><span style="color: #000000;">65-85</span></td>
<td width="59"><span style="color: #000000;">100-120</span></td>
</tr>
<tr>
<td width="59"><span style="color: #000000;">火鸡</span></td>
<td width="53"><span style="color: #000000;">28</span></td>
<td width="77"><span style="color: #000000;">37.6</span></td>
<td width="56"><span style="color: #000000;">60-75</span></td>
<td width="77"><span style="color: #000000;">37.2</span></td>
<td width="55"><span style="color: #000000;">65-85</span></td>
<td width="59"><span style="color: #000000;">75-80</span></td>
</tr>
<tr>
<td width="59"><span style="color: #000000;">鸭</span></td>
<td width="53"><span style="color: #000000;">28</span></td>
<td width="77"><span style="color: #000000;">37.8</span></td>
<td width="56"><span style="color: #000000;">60-75</span></td>
<td width="77"><span style="color: #000000;">37.3</span></td>
<td width="55"><span style="color: #000000;">65-85</span></td>
<td width="59"><span style="color: #000000;">80-100</span></td>
</tr>
<tr>
<td width="59"><span style="color: #000000;">鹅</span></td>
<td width="53"><span style="color: #000000;">30</span></td>
<td width="77"><span style="color: #000000;">37.6</span></td>
<td width="56"><span style="color: #000000;">65-80</span></td>
<td width="77"><span style="color: #000000;">37.1</span></td>
<td width="55"><span style="color: #000000;">65-85</span></td>
<td width="59"><span style="color: #000000;">100-120</span></td>
</tr>
<tr>
<td width="59"><span style="color: #000000;">鸽子</span></td>
<td width="53"><span style="color: #000000;">18</span></td>
<td width="77"><span style="color: #000000;">38</span></td>
<td width="56"><span style="color: #000000;">55-70</span></td>
<td width="77"><span style="color: #000000;">37.8</span></td>
<td width="55"><span style="color: #000000;">65-85</span></td>
<td width="59"><span style="color: #000000;">30-40</span></td>
</tr>
<tr>
<td width="59"><span style="color: #000000;">山鸡</span></td>
<td width="53"><span style="color: #000000;">24</span></td>
<td width="77"><span style="color: #000000;">37.8</span></td>
<td width="56"><span style="color: #000000;">55-70</span></td>
<td width="77"><span style="color: #000000;">37.7</span></td>
<td width="55"><span style="color: #000000;">65-85</span></td>
<td width="59"><span style="color: #000000;">30-40</span></td>
</tr>
<tr>
<td width="59"><span style="color: #000000;">土鸡</span></td>
<td width="53"><span style="color: #000000;">21</span></td>
<td width="77"><span style="color: #000000;">37.6</span></td>
<td width="56"><span style="color: #000000;">55-70</span></td>
<td width="77"><span style="color: #000000;">37.5</span></td>
<td width="55"><span style="color: #000000;">65-85</span></td>
<td width="59"><span style="color: #000000;">45-55</span></td>
</tr>
</tbody>
</table>
<p align="left">
<p align="left">
<p>&nbsp;</p>
<div id="crp_related"><h3>相关文章：</h3><ul><li><a href="http://dallascao.com/cn/interview-moving-beyond-%e2%80%9cgarbage-in-garbage-out%e2%80%9d-translations/" rel="bookmark" class="crp_title">采访：超越“垃圾进、垃圾出”的翻译</a></li><li><a href="http://dallascao.com/cn/google-dictionary-for-word-gd4word/" rel="bookmark" class="crp_title">Google Dictionary for Word</a></li><li><a href="http://dallascao.com/cn/advertising-gt4t-on-proz-com/" rel="bookmark" class="crp_title">在 proz.com 上做 GT4T 广告</a></li><li><a href="http://dallascao.com/cn/google-discovered-uninhabited-land-just-northeast-of-china/" rel="bookmark" class="crp_title">世界上最酷的国家</a></li><li><a href="http://dallascao.com/cn/two-translation-mistakes-in-cpanel/" rel="bookmark" class="crp_title">中文版 cpanel 中的两个翻译错误</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://dallascao.com/cn/%e5%ad%b5%e8%9b%8b%e5%99%a8%e8%af%b4%e6%98%8e%e4%b9%a6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Mobile (wm) 可用的OpvenVPN客户端</title>
		<link>http://dallascao.com/cn/windows-mobile-wm-opvenvpn/</link>
		<comments>http://dallascao.com/cn/windows-mobile-wm-opvenvpn/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 08:57:39 +0000</pubDate>
		<dc:creator>Dallas Cao</dc:creator>
				<category><![CDATA[疯狂的中国]]></category>

		<guid isPermaLink="false">http://dallascao.com/cn/?p=484</guid>
		<description><![CDATA[<p>历经苦难，终于找到了wm可以用的openvpn程序，跟我来吧，咱一步一步走。</p>
<p>1）到这里下载openvpn：<a href='http://dallascao.com/cn/wp-content/uploads/2012/02/openvpn.zip'>openvpn</a></p>
<p>2）按次序安装以下软件（卡和存储卡都无所谓）：<br />
     a) ovpnppc.en.ARM.cab b)DaGong OpenVPN_Patch.cab 3）Hosts.re[......]</p><p class='read-more'><a href='http://dallascao.com/cn/windows-mobile-wm-opvenvpn/'>继续阅读</a></p>]]></description>
			<content:encoded><![CDATA[<p>历经苦难，终于找到了wm可以用的openvpn程序，跟我来吧，咱一步一步走。</p>
<p>1）到这里下载openvpn：<a href='http://dallascao.com/cn/wp-content/uploads/2012/02/openvpn.zip'>openvpn</a></p>
<p>2）按次序安装以下软件（卡和存储卡都无所谓）：<br />
     a) ovpnppc.en.ARM.cab b)DaGong OpenVPN_Patch.cab 3）Hosts.reg </p>
<p>以上两条抄袭自 http://www.quietwrite.com/writing/42153/wm-ppc-de-openvpn-shi-yong-ji-she-zhi-jian-jie </p>
<p>以下所有条改编自上面的链接。 </p>
<p>3）安装后确认一下你所安装的路径，我们以安装到 My Storage\Program Files\OpenVPN\</p>
<p>3）登录killwall.com，下载你的vpn 配置文件。</p>
<p>4）解压后用notepad+，打开所有以 .ovpn 为扩展名的文件。</p>
<p>5）把这些文件里包含的 .crt  .key .txt 文件名前面加上完整路径，目录名之间用双反斜杠隔开，并前后加引号，如把</p>
<p>ca v10.crt 一行替换成：</p>
<p>ca “\\My Storage\\Program Files\\OpenVPN\\Config\\v10.crt”</p>
<p>把 key xxx.key 替换成：</p>
<p>key “\\My Storage\\Program Files\\OpenVPN\\Config\\xxx.key”</p>
<p>等等 </p>
<p>6) 把</p>
<p>#route-delay</p>
<p>route-method exe</p>
<p>两行删除。</p>
<p>*notepad+有替换打开的所有文件功能，用上吧！</p>
<p>7) 把所有修改后的文件复制到手机上 OpenVPN 目录下的 Config 目录下。</p>
<p>8）在ppc上对openvpn的设置其实也很简单。安装成功后，回到“今日”桌面，就会在右下角看到一部小电脑图标，点击它就会弹出菜单，点击“utils”,然后点击“setting”。进入后会看到两个“settings”,在第一个里把第三个钩(“Try to ping servers on connect”)去掉,在第二个里选择cmnet(或 “internet 设置” ), 最后点击 “tap”,再点击“tap device 1”，按下 “start”, 如果弹出个窗口不是写着“This adapter is already loaded”，的话，请卸载后重新安装。</p>
<p>9）点小电脑图标&#8211;>Start from Config&#8212;>点一个服务器。</p>
<p>10) 若干妙后，系统提示发现LAN什么的，点确认，然后小电脑变绿。</p>
<p>11) 打开ucweb，ucweb会提示发现WLAN（其实连的是VPN，ucweb傻)，是否连接，点是。</p>
<div id="crp_related"><h3>相关文章：</h3><ul><li><a href="http://dallascao.com/cn/520/" rel="bookmark" class="crp_title"></a></li><li><a href="http://dallascao.com/cn/%e5%90%a6%e5%ae%9a-dallas-facebook%e7%9a%84%e7%bf%bb%e8%af%91%e9%94%99%e8%af%af/" rel="bookmark" class="crp_title">否定 Dallas? facebook的翻译错误</a></li><li><a href="http://dallascao.com/cn/austrian-german-is-translated-as-australian-germa-in-windows-98/" rel="bookmark" class="crp_title">中文 Windows 98 中一个难忘的翻译错误</a></li><li><a href="http://dallascao.com/cn/google-dictionary-for-word-gd4word/" rel="bookmark" class="crp_title">Google Dictionary for Word</a></li><li><a href="http://dallascao.com/cn/plaintext/" rel="bookmark" class="crp_title">PlainText 1.10</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://dallascao.com/cn/windows-mobile-wm-opvenvpn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何使JiaThis按钮居中或任意位置</title>
		<link>http://dallascao.com/cn/%e5%a6%82%e4%bd%95%e4%bd%bfjiathis%e6%8c%89%e9%92%ae%e5%b1%85%e4%b8%ad%e6%88%96%e4%bb%bb%e6%84%8f%e4%bd%8d%e7%bd%ae/</link>
		<comments>http://dallascao.com/cn/%e5%a6%82%e4%bd%95%e4%bd%bfjiathis%e6%8c%89%e9%92%ae%e5%b1%85%e4%b8%ad%e6%88%96%e4%bb%bb%e6%84%8f%e4%bd%8d%e7%bd%ae/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 12:47:35 +0000</pubDate>
		<dc:creator>Dallas Cao</dc:creator>
				<category><![CDATA[代码狂]]></category>

		<guid isPermaLink="false">http://dallascao.com/cn/?p=480</guid>
		<description><![CDATA[<p>JiaThis 的按钮默认靠左，但通常会我们想让它居中或靠右，实现方法是在div标签里添加style。例如</p>
<p>居中：<br />
<code></code></p>
<div id="ckepop" style="padding-left: 47%;">

<p>调整padding-left后面的百分比，可实现靠右或任意位置，当然你也可写像素值。具体可参考网上<a href=http://suiji.so/s.php?q=div>div</a>标签的说明。</p>
<p>样例见</p>
<p><a href=http://suiji.so>http://suiji.so</a></p>
<div id="crp_related"><h3>相关文章：</h3><ul><li><a href="http://dallascao.com/cn/change-your-php-and-mysql-timezone/" rel="bookmark" class="crp_title">修改php[......]</a></li></ul></div></div><p class='read-more'><a href='http://dallascao.com/cn/%e5%a6%82%e4%bd%95%e4%bd%bfjiathis%e6%8c%89%e9%92%ae%e5%b1%85%e4%b8%ad%e6%88%96%e4%bb%bb%e6%84%8f%e4%bd%8d%e7%bd%ae/'>继续阅读</a></p>]]></description>
			<content:encoded><![CDATA[<p>JiaThis 的按钮默认靠左，但通常会我们想让它居中或靠右，实现方法是在div标签里添加style。例如</p>
<p>居中：<br />
<code></p>
<div id="ckepop" style="padding-left: 47%;">
</code></p>
<p>调整padding-left后面的百分比，可实现靠右或任意位置，当然你也可写像素值。具体可参考网上<a href=http://suiji.so/s.php?q=div>div</a>标签的说明。</p>
<p>样例见</p>
<p><a href=http://suiji.so>http://suiji.so</a></p>
<div id="crp_related"><h3>相关文章：</h3><ul><li><a href="http://dallascao.com/cn/change-your-php-and-mysql-timezone/" rel="bookmark" class="crp_title">修改php和mysql的时区</a></li><li><a href="http://dallascao.com/cn/use-regular-expressions-in-htaccess-for-redirections/" rel="bookmark" class="crp_title">在 .htaccess 中使用正则表达式来定义转向</a></li><li><a href="http://dallascao.com/cn/%e7%82%b9%e5%87%bb%e5%8d%95%e5%85%83%e6%a0%bc%e5%8f%98%e8%89%b2%e7%9a%84%e4%bb%a3%e7%a0%81/" rel="bookmark" class="crp_title">点击单元格变色的代码</a></li><li><a href="http://dallascao.com/cn/plaintext/" rel="bookmark" class="crp_title">PlainText 1.10</a></li><li><a href="http://dallascao.com/cn/google-dictionary-for-word-gd4word/" rel="bookmark" class="crp_title">Google Dictionary for Word</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://dallascao.com/cn/%e5%a6%82%e4%bd%95%e4%bd%bfjiathis%e6%8c%89%e9%92%ae%e5%b1%85%e4%b8%ad%e6%88%96%e4%bb%bb%e6%84%8f%e4%bd%8d%e7%bd%ae/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>否定 Dallas? facebook的翻译错误</title>
		<link>http://dallascao.com/cn/%e5%90%a6%e5%ae%9a-dallas-facebook%e7%9a%84%e7%bf%bb%e8%af%91%e9%94%99%e8%af%af/</link>
		<comments>http://dallascao.com/cn/%e5%90%a6%e5%ae%9a-dallas-facebook%e7%9a%84%e7%bf%bb%e8%af%91%e9%94%99%e8%af%af/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 17:41:11 +0000</pubDate>
		<dc:creator>Dallas Cao</dc:creator>
				<category><![CDATA[翻译]]></category>

		<guid isPermaLink="false">http://dallascao.com/cn/?p=476</guid>
		<description><![CDATA[<p><a href="http://dallascao.com/cn/wp-content/uploads/2012/02/negative_dallas.jpg"><img src="http://dallascao.com/cn/wp-content/uploads/2012/02/negative_dallas.jpg" alt="Not Dallas?" title="negative_dallas" width="314" height="139" class="alignnone size-full wp-image-477" /></a></p>
<p>登录facebook时输错的密码，facebook提示我“否定 Dallas？”</p>
<div id="crp_related"><h3>相关文章：</h3><ul><li><a href="http://dallascao.com/cn/chinese-characters/" rel="bookmark" class="crp_title">用来做装饰的汉字</a></li><li><a href="http://dallascao.com/cn/business-opportunities-from-chinas-great-firewall/" rel="bookmark" class="crp_title">G~F~W  带来的商业机会</a></li><li><a href="http://dallascao.com/cn/surprise/" rel="bookmark" class="crp_title">Surprise!</a></li><li><a href="http://dallascao.com/cn/exceeds-expecations/" rel="bookmark" class="crp_title">“超越期待！”</a></li><li><a href="http://dallascao.com/cn/repairs-trados/" rel="bookmark" class="crp_title">TradosRepairer: 一个修复 Microsoft Word 中 Trados Workbench 错误的程序</a></li><li>Power[......]</li></ul></div><p class='read-more'><a href='http://dallascao.com/cn/%e5%90%a6%e5%ae%9a-dallas-facebook%e7%9a%84%e7%bf%bb%e8%af%91%e9%94%99%e8%af%af/'>继续阅读</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://dallascao.com/cn/wp-content/uploads/2012/02/negative_dallas.jpg"><img src="http://dallascao.com/cn/wp-content/uploads/2012/02/negative_dallas.jpg" alt="Not Dallas?" title="negative_dallas" width="314" height="139" class="alignnone size-full wp-image-477" /></a></p>
<p>登录facebook时输错的密码，facebook提示我“否定 Dallas？”</p>
<div id="crp_related"><h3>相关文章：</h3><ul><li><a href="http://dallascao.com/cn/chinese-characters/" rel="bookmark" class="crp_title">用来做装饰的汉字</a></li><li><a href="http://dallascao.com/cn/business-opportunities-from-chinas-great-firewall/" rel="bookmark" class="crp_title">G~F~W  带来的商业机会</a></li><li><a href="http://dallascao.com/cn/surprise/" rel="bookmark" class="crp_title">Surprise!</a></li><li><a href="http://dallascao.com/cn/exceeds-expecations/" rel="bookmark" class="crp_title">“超越期待！”</a></li><li><a href="http://dallascao.com/cn/repairs-trados/" rel="bookmark" class="crp_title">TradosRepairer: 一个修复 Microsoft Word 中 Trados Workbench 错误的程序</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://dallascao.com/cn/%e5%90%a6%e5%ae%9a-dallas-facebook%e7%9a%84%e7%bf%bb%e8%af%91%e9%94%99%e8%af%af/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk

Served from: www.dallascao.com @ 2012-06-01 03:41:45 -->
