<?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>Дурацкий Девелопер &#187; Php</title>
	<atom:link href="http://ddev.ru/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://ddev.ru</link>
	<description>Как раскрутить сайт? Как сделать сайт или блог? Как оптимизировать работу и вывести в топ? Ответы в этом блоге.</description>
	<lastBuildDate>Mon, 09 Apr 2012 16:20:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Определение IP на php</title>
		<link>http://ddev.ru/582/opredelenie-ip-na-php/</link>
		<comments>http://ddev.ru/582/opredelenie-ip-na-php/#comments</comments>
		<pubDate>Sat, 17 Sep 2011 12:26:28 +0000</pubDate>
		<dc:creator>Eugene Che</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Заметки]]></category>

		<guid isPermaLink="false">http://ddev.ru/?p=582</guid>
		<description><![CDATA[Для определения IP клиента на PHP я использую один из этих примеров. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 [...]]]></description>
			<content:encoded><![CDATA[<p>Для определения IP клиента на <a href="http://ddev.ru/tag/php/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  Php">PHP</a> я использую один из этих примеров.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #000000; font-weight: bold;">function</span> getIp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$REMOTE_ADDR</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$HTTP_X_FORWARDED_FOR</span><span style="color: #339933;">,</span> <span style="color: #000088;">$HTTP_X_FORWARDED</span><span style="color: #339933;">,</span> <span style="color: #000088;">$HTTP_FORWARDED_FOR</span><span style="color: #339933;">,</span> <span style="color: #000088;">$HTTP_FORWARDED</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$HTTP_VIA</span><span style="color: #339933;">,</span> <span style="color: #000088;">$HTTP_X_COMING_FROM</span><span style="color: #339933;">,</span> <span style="color: #000088;">$HTTP_COMING_FROM</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #339933;">,</span> <span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Get some server/environment variables values</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;">$REMOTE_ADDR</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: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</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;">$REMOTE_ADDR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</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;">$REMOTE_ADDR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</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;">$REMOTE_ADDR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</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;">$REMOTE_ADDR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</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;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$REMOTE_ADDR</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'REMOTE_ADDR'</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: #666666; font-style: italic;">// end if</span>
&nbsp;
	<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;">$HTTP_X_FORWARDED_FOR</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: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</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;">$HTTP_X_FORWARDED_FOR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</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;">$HTTP_X_FORWARDED_FOR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</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;">$HTTP_X_FORWARDED_FOR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</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;">$HTTP_X_FORWARDED_FOR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</span><span style="color: #009900;">&#93;</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;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$HTTP_X_FORWARDED_FOR</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</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: #666666; font-style: italic;">// end if</span>
&nbsp;
	<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;">$HTTP_X_FORWARDED</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: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED'</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;">$HTTP_X_FORWARDED</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED'</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;">$HTTP_X_FORWARDED</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED'</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;">$HTTP_X_FORWARDED</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED'</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;">$HTTP_X_FORWARDED</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED'</span><span style="color: #009900;">&#93;</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;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$HTTP_X_FORWARDED</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED'</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: #666666; font-style: italic;">// end if</span>
&nbsp;
	<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;">$HTTP_FORWARDED_FOR</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: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED_FOR'</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;">$HTTP_FORWARDED_FOR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED_FOR'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED_FOR'</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;">$HTTP_FORWARDED_FOR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED_FOR'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED_FOR'</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;">$HTTP_FORWARDED_FOR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED_FOR'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED_FOR'</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;">$HTTP_FORWARDED_FOR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED_FOR'</span><span style="color: #009900;">&#93;</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;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP_FORWARDED_FOR'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$HTTP_FORWARDED_FOR</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP_FORWARDED_FOR'</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: #666666; font-style: italic;">// end if</span>
&nbsp;
	<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;">$HTTP_FORWARDED</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: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED'</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;">$HTTP_FORWARDED</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED'</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;">$HTTP_FORWARDED</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED'</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;">$HTTP_FORWARDED</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED'</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;">$HTTP_FORWARDED</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_FORWARDED'</span><span style="color: #009900;">&#93;</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;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP_FORWARDED'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$HTTP_FORWARDED</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP_FORWARDED'</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: #666666; font-style: italic;">// end if</span>
&nbsp;
	<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;">$HTTP_VIA</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: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_VIA'</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;">$HTTP_VIA</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_VIA'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_VIA'</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;">$HTTP_VIA</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_VIA'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_VIA'</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;">$HTTP_VIA</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_VIA'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_VIA'</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;">$HTTP_VIA</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_VIA'</span><span style="color: #009900;">&#93;</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;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP_VIA'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$HTTP_VIA</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP_VIA'</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: #666666; font-style: italic;">// end if</span>
&nbsp;
	<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;">$HTTP_X_COMING_FROM</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: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_COMING_FROM'</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;">$HTTP_X_COMING_FROM</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_COMING_FROM'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_COMING_FROM'</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;">$HTTP_X_COMING_FROM</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_COMING_FROM'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_COMING_FROM'</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;">$HTTP_X_COMING_FROM</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_COMING_FROM'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_COMING_FROM'</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;">$HTTP_X_COMING_FROM</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_COMING_FROM'</span><span style="color: #009900;">&#93;</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;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP_X_COMING_FROM'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$HTTP_X_COMING_FROM</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP_X_COMING_FROM'</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: #666666; font-style: italic;">// end if</span>
&nbsp;
	<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;">$HTTP_COMING_FROM</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: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_COMING_FROM'</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;">$HTTP_COMING_FROM</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_COMING_FROM'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_COMING_FROM'</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;">$HTTP_COMING_FROM</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_ENV</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_COMING_FROM'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_COMING_FROM</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_COMING_FROM'</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;">$HTTP_COMING_FROM</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_SERVER_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_COMING_FROM'</span><span style="color: #009900;">&#93;</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_COMING_FROM'</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;">$HTTP_COMING_FROM</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_ENV_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_COMING_FROM'</span><span style="color: #009900;">&#93;</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;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP_COMING_FROM'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$HTTP_COMING_FROM</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP_COMING_FROM'</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: #666666; font-style: italic;">// end if</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Gets the default ip sent by the user</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;">$REMOTE_ADDR</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$direct_ip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$REMOTE_ADDR</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Gets the proxy ip sent by the user</span>
	<span style="color: #000088;">$proxy_ip</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</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;">$HTTP_X_FORWARDED_FOR</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$proxy_ip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_X_FORWARDED_FOR</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_X_FORWARDED</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$proxy_ip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_X_FORWARDED</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_FORWARDED_FOR</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$proxy_ip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_FORWARDED_FOR</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_FORWARDED</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$proxy_ip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_FORWARDED</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_VIA</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$proxy_ip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_VIA</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_X_COMING_FROM</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$proxy_ip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_X_COMING_FROM</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;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$HTTP_COMING_FROM</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$proxy_ip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$HTTP_COMING_FROM</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #666666; font-style: italic;">// end if... else if...</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Returns the true IP if it has been found, else FALSE</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;">$proxy_ip</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// True IP without proxy</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$direct_ip</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;">$is_ip</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ereg</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'^([0-9]{1,3}\.){3,3}[0-9]{1,3}'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$proxy_ip</span><span style="color: #339933;">,</span> <span style="color: #000088;">$regs</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;">$is_ip</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$regs</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: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// True IP behind a proxy</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$regs</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: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// Can't define IP: there is a proxy but we don't have</span>
			<span style="color: #666666; font-style: italic;">// information about the true IP</span>
			<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #666666; font-style: italic;">// end if... else...</span>
&nbsp;
<span style="color: #009900;">&#125;</span> <span style="color: #666666; font-style: italic;">// end of the 'getIp()' function</span>
&nbsp;
<span style="color: #b1b100;">echo</span> getIp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>или вот так</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #000000; font-weight: bold;">function</span> validip<span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip</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;">$ip</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">ip2long</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip</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: #009900;">&#123;</span>
		<span style="color: #000088;">$reserved_ips</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;">'0.0.0.0'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'2.255.255.255'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
			<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'10.0.0.0'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'10.255.255.255'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
			<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'127.0.0.0'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'127.255.255.255'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
			<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'169.254.0.0'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'169.254.255.255'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
			<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'172.16.0.0'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'172.31.255.255'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
			<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'192.0.2.0'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'192.0.2.255'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
			<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'192.168.0.0'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'192.168.255.255'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
			<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'255.255.255.0'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'255.255.255.255'</span><span style="color: #009900;">&#41;</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;">$reserved_ips</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$r</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$min</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ip2long</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$r</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$max</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ip2long</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$r</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</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: #009900;">&#40;</span><span style="color: #990000;">ip2long</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;=</span> <span style="color: #000088;">$min</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">ip2long</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;=</span> <span style="color: #000088;">$max</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</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> getip<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>validip<span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTP_CLIENT_IP&quot;</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: #b1b100;">return</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTP_CLIENT_IP&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</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: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTP_X_FORWARDED_FOR&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$ip</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>validip<span style="color: #009900;">&#40;</span><span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip</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: #b1b100;">return</span> <span style="color: #000088;">$ip</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>validip<span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTP_X_FORWARDED&quot;</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: #b1b100;">return</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTP_X_FORWARDED&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span>validip<span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTP_FORWARDED_FOR&quot;</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: #b1b100;">return</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTP_FORWARDED_FOR&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span>validip<span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTP_FORWARDED&quot;</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: #b1b100;">return</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTP_FORWARDED&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span>validip<span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTP_X_FORWARDED&quot;</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: #b1b100;">return</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTP_X_FORWARDED&quot;</span><span style="color: #009900;">&#93;</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: #b1b100;">return</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;REMOTE_ADDR&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span> 
&nbsp;
<span style="color: #b1b100;">echo</span> getip<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://ddev.ru/582/opredelenie-ip-na-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML как PHP</title>
		<link>http://ddev.ru/573/html-kak-php/</link>
		<comments>http://ddev.ru/573/html-kak-php/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 09:38:22 +0000</pubDate>
		<dc:creator>Eugene Che</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[FastCGI]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[fastCGI]]></category>
		<category><![CDATA[htaccess]]></category>

		<guid isPermaLink="false">http://ddev.ru/?p=573</guid>
		<description><![CDATA[Только что столкнулся с интересным моментом на хостинге fastvps.ru Надо было заставить html работать как php. Но стандартный код в .htaccess не сработал. Там где PHP как модуль Apache 1 AddType application/x-httpd-php .html .htm Для хостингов с PHP как CGI: 1 AddHandler application/x-httpd-php .html .htm Для того чтобы заставить работать html как php пришлось добавить [...]]]></description>
			<content:encoded><![CDATA[<p>Только что столкнулся с интересным моментом на хостинге fastvps.ru<br />
Надо было заставить html работать как <a href="http://ddev.ru/tag/php/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  Php">php</a>. Но стандартный код в .<a href="http://ddev.ru/tag/htaccess/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  htaccess">htaccess</a> не сработал.</p>
<p>Там где PHP как модуль <a href="http://ddev.ru/tag/apache/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  Apache">Apache</a></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">AddType application<span style="color: #339933;">/</span>x<span style="color: #339933;">-</span>httpd<span style="color: #339933;">-</span>php <span style="color: #339933;">.</span>html <span style="color: #339933;">.</span>htm</pre></td></tr></table></div>

<p>Для хостингов с PHP как CGI:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">AddHandler application<span style="color: #339933;">/</span>x<span style="color: #339933;">-</span>httpd<span style="color: #339933;">-</span>php <span style="color: #339933;">.</span>html <span style="color: #339933;">.</span>htm</pre></td></tr></table></div>

<p>Для того чтобы заставить работать html как php пришлось добавить следующее:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">FCGIWrapper <span style="color: #339933;">/</span>путь до php<span style="color: #339933;">/</span>php <span style="color: #339933;">.</span>html
FCGIWrapper <span style="color: #339933;">/</span>путь до php<span style="color: #339933;">/</span>php <span style="color: #339933;">.</span>htm 
FCGIWrapper <span style="color: #339933;">/</span>путь до php<span style="color: #339933;">/</span>php <span style="color: #339933;">.</span>php
AddHandler fcgid<span style="color: #339933;">-</span>script <span style="color: #339933;">.</span>php <span style="color: #339933;">.</span>html <span style="color: #339933;">.</span>htm</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://ddev.ru/573/html-kak-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>regexp для проверки email</title>
		<link>http://ddev.ru/556/regexp-dlya-proverki-email/</link>
		<comments>http://ddev.ru/556/regexp-dlya-proverki-email/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 15:31:35 +0000</pubDate>
		<dc:creator>Eugene Che</dc:creator>
				<category><![CDATA[Html]]></category>
		<category><![CDATA[Php]]></category>

		<guid isPermaLink="false">http://ddev.ru/?p=556</guid>
		<description><![CDATA[Небольшая регулярка для проверки валидности email. Под катом код соовсетствующий RFC822. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 [...]]]></description>
			<content:encoded><![CDATA[<p>Небольшая регулярка для проверки валидности email.</p>
<p>Под катом код соовсетствующий RFC822.</p>
<p><span id="more-556"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>]
)+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.|(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>
\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\<span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(
?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.|(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ 
<span style="color: #000099; font-weight: bold;">\t</span>]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*@</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\0</span>
31]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|\[([^\[\]<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.)*<span style="color: #000099; font-weight: bold;">\
</span>](?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*)(?:\.(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*(?:[^()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span> \<span style="color: #208080;">000</span><span style="color: #339933;">-</span>\<span style="color: #208080;">031</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>
<span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+|</span>\Z<span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</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;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>^\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span>\r\\<span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span>\\<span style="color: #339933;">.</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>\<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>
<span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*|</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z
|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.|(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>
?<span style="color: #009900;">&#91;</span> \t<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: #339933;">&lt;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:@</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\
</span>r<span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|\[([^\[\]<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.)*\](?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[
 <span style="color: #000099; font-weight: bold;">\t</span>])*)(?:\.(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*(?:[^()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span> \<span style="color: #208080;">000</span><span style="color: #339933;">-</span>\<span style="color: #208080;">031</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>
?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+|</span>\Z<span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</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;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>^\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span>\r\\<span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span>\\<span style="color: #339933;">.</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>\<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:,@</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[
 <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|\[([^\[\]<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.)*\](?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*
)(?:\.(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*(?:[^()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span> \<span style="color: #208080;">000</span><span style="color: #339933;">-</span>\<span style="color: #208080;">031</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">+|</span>\Z<span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</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;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>^\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span>\r\\<span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span>\\<span style="color: #339933;">.</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>\<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span>
<span style="color: #339933;">*:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+
|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.|(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r
\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\<span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:
<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.|(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>
]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*@</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>
]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|\[([^\[\]<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.)*\](
?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*)(?:\.(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*(?:[^()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span> \<span style="color: #208080;">000</span><span style="color: #339933;">-</span>\<span style="color: #208080;">031</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>?
<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+|</span>\Z<span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</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;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>^\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span>\r\\<span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span>\\<span style="color: #339933;">.</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>\<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?
<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*</span>\<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?
:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.|(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?
[ <span style="color: #000099; font-weight: bold;">\t</span>]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] 
<span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|
<span style="color: #000099; font-weight: bold;">\\</span>.|(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\<span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;</span>
<span style="color: #339933;">@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|&quot;</span>
<span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.|(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*@</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\
<span style="color: #0000ff;">&quot;.\[\]]))|\[([^\[\]<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.)*\](?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*)(?:\.(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*(?
:[^()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span> \<span style="color: #208080;">000</span><span style="color: #339933;">-</span>\<span style="color: #208080;">031</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+|</span>\Z<span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>
\<span style="color: #009900;">&#93;</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;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>^\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span>\r\\<span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span>\\<span style="color: #339933;">.</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>\<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*|</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-
<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.|(
?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #339933;">&lt;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:@</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;</span>
<span style="color: #339933;">:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|\[([
^\[\]<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.)*\](?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*)(?:\.(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*(?:[^()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span>
<span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span> \<span style="color: #208080;">000</span><span style="color: #339933;">-</span>\<span style="color: #208080;">031</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+|</span>\Z<span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</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;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>^\<span style="color: #009900;">&#91;</span>\
<span style="color: #009900;">&#93;</span>\r\\<span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span>\\<span style="color: #339933;">.</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>\<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:,@</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.<span style="color: #000099; font-weight: bold;">\
</span>[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|\[([^\[\]<span style="color: #000099; font-weight: bold;">\
</span>r<span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.)*\](?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*)(?:\.(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*(?:[^()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span> 
\<span style="color: #208080;">000</span><span style="color: #339933;">-</span>\<span style="color: #208080;">031</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+|</span>\Z<span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</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;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>^\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span>\r\\<span style="color: #009900;">&#93;</span>
<span style="color: #339933;">|</span>\\<span style="color: #339933;">.</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>\<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\0</span>
00-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>
.|(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\<span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,</span>
<span style="color: #339933;">;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|&quot;</span><span style="color: #009900;">&#40;</span>?
<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.|(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*@</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>
<span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.
\[\]]))|\[([^\[\]<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.)*\](?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*)(?:\.(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*(?:[
^()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span> \<span style="color: #208080;">000</span><span style="color: #339933;">-</span>\<span style="color: #208080;">031</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+|</span>\Z<span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</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;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>^\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span>\r\\<span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span>\\<span style="color: #339933;">.</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>\<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*</span>\<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#40;</span>?<span style="color: #339933;">:,</span>\s<span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>
?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\
<span style="color: #0000ff;">&quot;.\[\]]))|&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.|(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\<span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>
?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[
\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.|(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t
<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: #009900;">&#41;</span><span style="color: #339933;">*@</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>
])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|\[([^\[\]<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.)*\](?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*)(?
:\.(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*(?:[^()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span> \<span style="color: #208080;">000</span><span style="color: #339933;">-</span>\<span style="color: #208080;">031</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+|</span>
\Z<span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</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;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>^\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span>\r\\<span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span>\\<span style="color: #339933;">.</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>\<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*|</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>
<span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[<span style="color: #000099; font-weight: bold;">\
</span>]]))|&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.|(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #339933;">&lt;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>
?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:@</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span>
<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|\[([^\[\]<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.)*\](?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*)(?:\.(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)
?[ <span style="color: #000099; font-weight: bold;">\t</span>])*(?:[^()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span> \<span style="color: #208080;">000</span><span style="color: #339933;">-</span>\<span style="color: #208080;">031</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+|</span>\Z<span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;()&lt;&gt;
@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</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;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>^\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span>\r\\<span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span>\\<span style="color: #339933;">.</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>\<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:,@</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span>
 \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,</span>
<span style="color: #339933;">;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|\[([^\[\]<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.)*\](?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*)(?:\.(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>]
)*(?:[^()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span> \<span style="color: #208080;">000</span><span style="color: #339933;">-</span>\<span style="color: #208080;">031</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+|</span>\Z<span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>
&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</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;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>^\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span>\r\\<span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span>\\<span style="color: #339933;">.</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>\<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.
\[\]]))|&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.|(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\<span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>
\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])+|\Z|(?=[\[
&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^\<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.|(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>]))*&quot;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*@</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>^<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\] <span style="color: #660099; font-weight: bold;">\000</span>-<span style="color: #660099; font-weight: bold;">\031</span>]+(?:(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])
+|\Z|(?=[\[&quot;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;&gt;@,;:</span>\\<span style="color: #0000ff;">&quot;.\[\]]))|\[([^\[\]<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\\</span>]|<span style="color: #000099; font-weight: bold;">\\</span>.)*\](?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*)(?:<span style="color: #000099; font-weight: bold;">\
</span>.(?:(?:<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>)?[ <span style="color: #000099; font-weight: bold;">\t</span>])*(?:[^()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span> \<span style="color: #208080;">000</span><span style="color: #339933;">-</span>\<span style="color: #208080;">031</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+|</span>\Z
<span style="color: #339933;">|</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;()&lt;&gt;@,;:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #339933;">.</span>\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</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;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>^\<span style="color: #009900;">&#91;</span>\<span style="color: #009900;">&#93;</span>\r\\<span style="color: #009900;">&#93;</span><span style="color: #339933;">|</span>\\<span style="color: #339933;">.</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>\<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*</span>\<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span>?<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>
?<span style="color: #339933;">:</span>\r\n<span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#91;</span> \t<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: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span>?<span style="color: #339933;">;</span>\s<span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span></pre></td></tr></table></div>

<p>Сайт автора: <a target="_blank" href="http://ddev.ru/goto/http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html" >Paul Warren</a></p>
<p>Ну а если без шуток, то вот тут имеется достаточно хороший список регулярок для валидации всего на свете: <a target="_blank" href="http://ddev.ru/goto/http://html5pattern.com/"  title="html5patterns" target="_blank">html5pattern</a></p>
<p>А вот тут показано как их использовать в html5: <a target="_blank" href="http://ddev.ru/goto/http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#the-pattern-attribute"  title="html5 свойство pattern" target="_blank">html5 свойство pattern</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ddev.ru/556/regexp-dlya-proverki-email/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Проблема загруки больших файлов</title>
		<link>http://ddev.ru/478/problema-zagruki-bolshix-fajlov/</link>
		<comments>http://ddev.ru/478/problema-zagruki-bolshix-fajlov/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 03:56:52 +0000</pubDate>
		<dc:creator>Eugene Che</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[upload]]></category>
		<category><![CDATA[файлы]]></category>

		<guid isPermaLink="false">http://ddev.ru/?p=478</guid>
		<description><![CDATA[Это будет не решение, а описание проблемы. Собственно суть проблемы такова: есть хостинг, на нем стоит Apache, также имеется PHP, я хочу загрузить файл через HTML форму. Файлы которые меньше разрешеного лимита PHP загружаются отлично, а те которые больше&#8230; Вот тут как раз и возникает проблема. Они грузятся до определенного момента и соединение рвется сервером. [...]]]></description>
			<content:encoded><![CDATA[<p>Это будет не решение, а описание проблемы.<br />
Собственно суть проблемы такова: есть хостинг, на нем стоит <a href="http://ddev.ru/tag/apache/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  Apache">Apache</a>, также имеется <a href="http://ddev.ru/tag/php/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  Php">PHP</a>, я хочу загрузить файл через HTML форму.<br />
Файлы которые меньше разрешеного лимита PHP загружаются отлично, а те которые больше&#8230; Вот тут как раз и возникает проблема. Они грузятся до определенного момента и соединение рвется сервером. Причем без всяких ошибок.<br />
Логирование ошибок в PHP включено, но там тишина, в логах апача тишина.<br />
Как хотелось бы: чтобы сервер при загрузке больших файлов хоть какую-то ошибку вернул. Тогда бы я ее отловил и показал пользователю сообщение о невозможности загрузить этот файл.<br />
Подскажите, куда копать?</p>
<p>P.S. Места на диске полно. В HTML форме max_file_size указан. </p>
]]></content:encoded>
			<wfw:commentRss>http://ddev.ru/478/problema-zagruki-bolshix-fajlov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Глобальные и волшебные константы PHP</title>
		<link>http://ddev.ru/421/globalnye-i-volshebnye-konstanty-php/</link>
		<comments>http://ddev.ru/421/globalnye-i-volshebnye-konstanty-php/#comments</comments>
		<pubDate>Sun, 12 Jun 2011 23:01:46 +0000</pubDate>
		<dc:creator>Eugene Che</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Заметки]]></category>
		<category><![CDATA[constant]]></category>
		<category><![CDATA[snippets]]></category>
		<category><![CDATA[var]]></category>
		<category><![CDATA[vars]]></category>
		<category><![CDATA[глобальные переменные]]></category>
		<category><![CDATA[константы]]></category>

		<guid isPermaLink="false">http://ddev.ru/?p=421</guid>
		<description><![CDATA[Достаточно часто пишу код, применяя такоие вот волшебные константы, в основном применяю их для отладки. __LINE__ Текущий номер строки в файле. __FILE__ Полный путь и имя текущего файла. Если используется внутри подключаемого файла, то возвращается имя данного файла. Начиная с версии PHP 4.0.2, __FILE__ всегда содержит абсолютный путь с разрешенными символическими ссылками, тогда как в [...]]]></description>
			<content:encoded><![CDATA[<p> Достаточно часто пишу код, применяя такоие вот волшебные <a href="http://ddev.ru/tag/konstanty/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  константы">константы</a>, в основном применяю их для отладки.</p>
<ul>
<li><span style="color: #ff9900;">__LINE__</span> Текущий номер строки в файле.</li>
<li><span style="color: #ff9900;">__FILE__</span> Полный путь и имя текущего файла. Если используется внутри подключаемого файла, то возвращается имя данного файла. Начиная с версии <a href="http://ddev.ru/tag/php/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  Php">PHP</a> 4.0.2, __FILE__ всегда содержит абсолютный путь с разрешенными символическими ссылками, тогда как в старых версиях в некоторых обстоятельствах возвращался относительный путь.</li>
<li><span style="color: #ff9900;">__DIR__</span> Директория файла. Если используется внутри подключаемого файла, то возвращается директория этого файла. Это эквивалентно вызову dirname(__FILE__). Возвращаемое имя директории не оканчивается на слэш, за исключением корневой директории (добавлена в PHP 5.3.0.)</li>
<li><span style="color: #ff9900;">__FUNCTION__</span> Имя функции. (Добавлена в PHP 4.3.0.) Начиная с PHP 5 эта константа возвращает имя функции точно так, как оно было объявлено (с учетом регистра). В PHP 4 это значение всегда было в нижнем регистре.</li>
<li><span style="color: #ff9900;">__CLASS__</span> Имя класса. (Добавлена в PHP 4.3.0.) Начиная с PHP 5 эта константа возвращает имя класса точно так, как оно было объявлено (с учетом регистра). В PHP 4 это значение всегда было в нижнем регистре.</li>
<li><span style="color: #ff9900;">__METHOD__</span> Имя метода класса. (Добавлена в PHP 5.0.0) Имя метода возвращается так, как оно было объявлено (с учетом регистра).</li>
<li><span style="color: #ff9900;">__NAMESPACE__</span> Имя текущего пространства имен (с учетом регистра). Эта константа определяется во время компиляции (Добавлена в версии PHP 5.3.0).</li>
</ul>
<p>Под катом некоторые глобальные константы и небольшие сниппеты.</p>
<p><span id="more-421"></span></p>
<p>Путь к файлу  с http:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">print</span> <span style="color: #0000ff;">&quot;http://&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_HOST'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'SERVER_PORT'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">80</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;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'SERVER_PORT'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">rtrim</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'\\'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/'</span><span style="color: #339933;">,</span> <span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_SELF'</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: #0000ff;">'/'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Абсолютныйпуть к файлу для PHP младше 5.3.0</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">defined</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'__DIR__'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
    <span style="color: #000088;">$iPos</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strrpos</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</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: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;__DIR__&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$iPos</span><span style="color: #009900;">&#41;</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: #009900;">&#125;</span> 
<span style="color: #b1b100;">print</span> __DIR__<span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Еще один вариант получения абсолютного пути:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">defined</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'__DIR__'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
    <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;__DIR__&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</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;">print</span> __DIR__<span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Хотя следующая конструкция не демонстрирует значение переменной а является эксплуатацией функции, я думаю она будет достаточно полезна:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$path_parts</span> <span style="color: #339933;">=</span> <span style="color: #990000;">pathinfo</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/www/htdocs/inc/lib.inc.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$path_parts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'dirname'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$path_parts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basename'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$path_parts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'extension'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$path_parts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'filename'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// с PHP 5.2.0</span></pre></td></tr></table></div>

<p>В результате выполнения этого кода мы получим следующее:</p>
<p><code>/www/htdocs/inc<br />
lib.inc.php<br />
php<br />
lib.inc<br />
</code></p>
<p>Еще одна полезная конструкция, проверяющая исполняется ли <a href="http://ddev.ru/tag/skript/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  скрипт">скрипт</a> самостоятельно или является подключенным к другому скрипту посредством include() или других функций включения:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">realpath</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #990000;">realpath</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'SCRIPT_FILENAME'</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: #990000;">exit</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://ddev.ru/421/globalnye-i-volshebnye-konstanty-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Бесконечный скроллинг как в Facebook и Twitter</title>
		<link>http://ddev.ru/412/beskonechnyj-skrolling-kak-v-facebook-i-twitter/</link>
		<comments>http://ddev.ru/412/beskonechnyj-skrolling-kak-v-facebook-i-twitter/#comments</comments>
		<pubDate>Sun, 12 Jun 2011 19:45:53 +0000</pubDate>
		<dc:creator>Eugene Che</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://ddev.ru/?p=412</guid>
		<description><![CDATA[Многие из нас видели эту бесконечную прокрутку на веб-сайтах, как Facebook и Twitter, где новые сообщения загружаются, когда мы достигаем конца самой страницы. Нам не нужно нажмать на ссылку чтобы загрузить еще немного новых постов или сообщений. В этом посте я рассмотрю теорию и практику с применением PHP, MySQL и JQuery&#8230; хотя только практику =) [...]]]></description>
			<content:encoded><![CDATA[<p>Многие из нас видели эту бесконечную прокрутку на веб-сайтах, как <a href="http://ddev.ru/tag/facebook/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  facebook">Facebook</a> и <a href="http://ddev.ru/tag/twitter/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  twitter">Twitter</a>, где новые сообщения загружаются, когда мы достигаем конца самой страницы. Нам не нужно нажмать на ссылку чтобы загрузить еще немного новых постов или сообщений. В этом посте я рассмотрю теорию и практику с применением <a href="http://ddev.ru/tag/php/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  Php">PHP</a>, <a href="http://ddev.ru/tag/mysql/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  MySQL">MySQL</a> и <a href="http://ddev.ru/tag/jquery/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  jQuery">JQuery</a>&#8230; хотя только практику =)</p>
<p><span id="more-412"></span></p>
<p>Итак, нам понадобятся два файла:</p>
<ol>
<li>index.php &#8212;  загружаем основу и немного контента из базы</li>
<li>loadmore.php &#8212; динамическая загрузка данных</li>
</ol>
<p>Эти два файла нужны чтобы взаимодействовать с базой. Я использую MySQL.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>window<span style="color: #009900;">&#41;</span>.<span style="color: #000066;">scroll</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span>window<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">scrollTop</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">height</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> $<span style="color: #009900;">&#40;</span>window<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">height</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: #009900;">&#40;</span><span style="color: #3366CC;">'div#loadmoreajaxloader'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		$.<span style="color: #660066;">ajax</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
			url<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;loadmore.php?lastid=&quot;</span> <span style="color: #339933;">+</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.postitem:last&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;id&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
			success<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>html<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>html<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
					$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#postswrapper&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">append</span><span style="color: #009900;">&#40;</span>html<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'div#loadmoreajaxloader'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span><span style="color: #000066; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
					$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'div#loadmoreajaxloader'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;center&gt;No more posts to show.&lt;/center&gt;'</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: #009900;">&#125;</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: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Этот код занимается тем, что смотрит проскролили ли мы до низа. Он расположен в index.php. Тут сразу скажу, что такой способ не айс. Т.к. если мы будем выводить мало контента и скролбара на странице не будет, то и событие не сработает. </p>
<p>Я вынес <a href="http://ddev.ru/tag/ajax/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  ajax">ajax</a> в отдельную функцию, которую можно вызывать как ссылкой, так и при срабатывании события. Но тут я привожу код без правок.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$dblink</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_connect</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'DB_HOST'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'DB_USERNAME'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'DB_PASSWORD'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">mysql_select_db</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'DB_NAME'</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;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'lastid'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'SELECT * FROM infinitescrolling WHERE id &lt; &quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'lastid'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; ORDER BY id DESC LIMIT 0, 10'</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</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;">$rec</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_fetch_object</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</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;">'&lt;div class=&quot;postitem&quot; id=&quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$rec</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">id</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;&gt;Post no '</span><span style="color: #339933;">.</span><span style="color: #000088;">$rec</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">id</span><span style="color: #339933;">.</span><span style="color: #0000ff;">': '</span><span style="color: #339933;">.</span><span style="color: #000088;">$rec</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">text</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;&lt;/div&gt;'</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p> Ну а в loadmore.php у нас загрузка новых записей из базы. </p>
<p>Это только пример. Я знаю, что в продакшене такое никогда не будет и не имеет права использоваться. Это лишь пример.</p>
]]></content:encoded>
			<wfw:commentRss>http://ddev.ru/412/beskonechnyj-skrolling-kak-v-facebook-i-twitter/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>HTTP Authentication с PHP как FastCGI/SuExec</title>
		<link>http://ddev.ru/400/http-authentication-s-php-kak-fastcgisuexec/</link>
		<comments>http://ddev.ru/400/http-authentication-s-php-kak-fastcgisuexec/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 19:31:22 +0000</pubDate>
		<dc:creator>Eugene Che</dc:creator>
				<category><![CDATA[FastCGI]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[Заметки]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[HTTP Authentication]]></category>
		<category><![CDATA[HTTP_AUTHORIZATION]]></category>
		<category><![CDATA[PHP_AUTH_PW]]></category>
		<category><![CDATA[PHP_AUTH_USER]]></category>
		<category><![CDATA[авторизация]]></category>
		<category><![CDATA[аутентификация]]></category>

		<guid isPermaLink="false">http://ddev.ru/?p=400</guid>
		<description><![CDATA[Однако, есть обходной путь доступны, которые могут сделать HTTP-авторизации для PHP работать даже в режиме CGI. У меня случилась интересная ситуация, мой скрипт постоянно выдавал форму ввода лоина и пароля при HTTP авторизации. Я никак не мог понять в чем дело. Оказалось все просто. Плохая новость в том, что этот тип авторизации не работает, если [...]]]></description>
			<content:encoded><![CDATA[<p>Однако, есть обходной путь доступны, которые могут сделать HTTP-авторизации для <a href="http://ddev.ru/tag/php/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  Php">PHP</a> работать даже в режиме CGI.</p>
<p>У меня случилась интересная ситуация, мой <a href="http://ddev.ru/tag/skript/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  скрипт">скрипт</a> постоянно выдавал форму ввода лоина и пароля при HTTP авторизации. Я никак не мог понять в чем дело. Оказалось все просто. Плохая новость в том, что этот тип авторизации не работает, если ваш PHP установлен ​​и работает как <a href="http://ddev.ru/tag/fastcgi-2/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  fastCGI">FastCGI</a>. Он отлично работает, когда PHP установлен как модуль.</p>
<p>Хотя&#8230; Решение довольно не тривиальное.</p>
<p><span id="more-400"></span></p>
<p>Первое, что надо сделать это созлдать .<a href="http://ddev.ru/tag/htaccess/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  htaccess">htaccess</a> в папке к которой хотим запретить доступ:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>IfModule mod_rewrite<span style="color: #339933;">.</span>c<span style="color: #339933;">&gt;</span>
RewriteEngine on
RewriteRule <span style="color: #339933;">.*</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span>E<span style="color: #339933;">=</span>HTTP_AUTHORIZATION<span style="color: #339933;">:%</span><span style="color: #009900;">&#123;</span>HTTP<span style="color: #339933;">:</span>Authorization<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>L<span style="color: #009900;">&#93;</span>
<span style="color: #339933;">&lt;/</span>IfModule<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Он переназначает пару логин/пароль в переменную <a href="http://ddev.ru/tag/http_authorization/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  HTTP_AUTHORIZATION">HTTP_AUTHORIZATION</a></p>
<p>В php скрипте должно быть следующее:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">list</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_AUTH_USER'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_AUTH_PW'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">':'</span> <span style="color: #339933;">,</span> <span style="color: #990000;">base64_decode</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_AUTHORIZATION'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">6</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>So here it is how a sample PHP script using <a href="http://ddev.ru/tag/http-authentication/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  HTTP Authentication">HTTP Authentication</a> would look like:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// split the user/pass parts</span>
<span style="color: #990000;">list</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_AUTH_USER'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_AUTH_PW'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">':'</span><span style="color: #339933;">,</span> <span style="color: #990000;">base64_decode</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_AUTHORIZATION'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">6</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// open a user/pass prompt</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;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_AUTH_USER'</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: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'WWW-Authenticate: Basic realm=&quot;My Realm&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;">'HTTP/1.0 401 Unauthorized'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Text to send if user hits Cancel button'</span><span style="color: #339933;">;</span>
   <span style="color: #990000;">exit</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: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;p&gt;Hello, &lt;/p&gt;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_AUTH_USER'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;p&gt;You entered as your password: &lt;/p&gt;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_AUTH_PW'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Вот и вся хитрость. Пользуйтесь на здоровье.</p>
]]></content:encoded>
			<wfw:commentRss>http://ddev.ru/400/http-authentication-s-php-kak-fastcgisuexec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Склеить и разрезать большие файлы на php</title>
		<link>http://ddev.ru/366/skleit-i-razrezat-bolshie-fajly-na-php/</link>
		<comments>http://ddev.ru/366/skleit-i-razrezat-bolshie-fajly-na-php/#comments</comments>
		<pubDate>Tue, 24 May 2011 00:10:26 +0000</pubDate>
		<dc:creator>Eugene Che</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[архиватор]]></category>
		<category><![CDATA[разархиватор]]></category>

		<guid isPermaLink="false">http://ddev.ru/?p=366</guid>
		<description><![CDATA[Сегодня появилась задачка. Склеить большие файлы в один. А потом разрезать пофайлово. Под катом исходники упаковщика (архиватора) на php и распаковщика. Это упаковщик. Он берет файлы из папки source склеивает и создает файл out.bin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня появилась задачка. Склеить большие <a href="http://ddev.ru/tag/fajly/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  файлы">файлы</a> в один. А потом разрезать пофайлово.<br />
Под катом исходники упаковщика (архиватора) на <a href="http://ddev.ru/tag/php/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  Php">php</a> и распаковщика.</p>
<p><span id="more-366"></span></p>
<p>Это упаковщик.<br />
Он берет файлы из папки source склеивает и создает файл out.bin</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> mergeFiles<span style="color: #009900;">&#40;</span><span style="color: #000088;">$destination</span><span style="color: #339933;">,</span><span style="color: #000088;">$from</span><span style="color: #339933;">,</span><span style="color: #000088;">$fsize</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fopen</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$from</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: #666666; font-style: italic;">//открываем нужный нам файл на чтение в бинарном режиме, если это дело происходит под виндой</span>
	<span style="color: #000088;">$fpn</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fopen</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$destination</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;a&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Создаём файл, в который будем писать уже обработанный текст(в моём случае синонимизированный)</span>
&nbsp;
	<span style="color: #000088;">$cicl</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ceil</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$fsize</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">512000</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: #666666; font-style: italic;">//узнаём кол-во циклов (важно: я остановился на 512кб, но если дело происходит на шареде, можно и поменьше)</span>
&nbsp;
	<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: #000088;">$cicl</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: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</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: #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;">$fp</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: #666666; font-style: italic;">//ну на первом цикле переходим естественно в начало файла</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #990000;">fseek</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #990000;">ftell</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$fp</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;">//бегаем по файлу</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000088;">$text</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;">512000</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//читаем файл по 512кб</span>
		<span style="color: #990000;">fwrite</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$fpn</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//пищем обработанный текст в новый файл</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">feof</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; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
	<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: #666666; font-style: italic;">//закрываем файлы</span>
	<span style="color: #990000;">fclose</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$fpn</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #000088;">$dir</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;./source&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$dh</span>  <span style="color: #339933;">=</span> <span style="color: #990000;">opendir</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;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">!==</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span> <span style="color: #339933;">=</span> <span style="color: #990000;">readdir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dh</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: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span><span style="color: #339933;">!=</span><span style="color: #0000ff;">'..'</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$filename</span><span style="color: #339933;">!=</span><span style="color: #0000ff;">'.'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</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;">&quot;name&quot;</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$filename</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;namesize&quot;</span><span style="color: #339933;">=&gt;</span> <span style="color: #990000;">mb_strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;size&quot;</span><span style="color: #339933;">=&gt;</span>filesize<span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">.</span><span style="color: #000088;">$filename</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: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$sign</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;!@#OURsigN#@!&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$devider</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\x0</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$table</span><span style="color: #339933;">=</span><span style="color: #000088;">$sign</span><span style="color: #339933;">.</span><span style="color: #000088;">$devider</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$files</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$k</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$v</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$table</span><span style="color: #339933;">.=</span><span style="color: #000088;">$v</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'namesize'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #000088;">$devider</span><span style="color: #339933;">.</span><span style="color: #000088;">$v</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;">$devider</span><span style="color: #339933;">.</span><span style="color: #000088;">$v</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'size'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #000088;">$devider</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000088;">$table</span><span style="color: #339933;">.=</span><span style="color: #000088;">$sign</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">file_put_contents</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;out.bin&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$table</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;">$files</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$v</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	mergeFiles<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;out.bin&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;./source/&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$v</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;">$v</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: #009900;">&#125;</span></pre></td></tr></table></div>

<p> А это распаковщик. Он берет файл out.bin и складывает получившееся в папку temp</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> splitFiles<span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #339933;">,</span><span style="color: #000088;">$start</span><span style="color: #339933;">,</span><span style="color: #000088;">$end</span><span style="color: #339933;">,</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$fp</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: #339933;">,</span> <span style="color: #0000ff;">&quot;rb&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//открываем нужный нам файл на чтение в бинарном режиме, если это дело происходит под виндой</span>
	<span style="color: #000088;">$fpn</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fopen</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;w&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Создаём файл, в который будем писать уже обработанный текст(в моём случае синонимизированный)</span>
&nbsp;
&nbsp;
&nbsp;
	<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: #000088;">$start</span><span style="color: #339933;">;</span><span style="color: #000088;">$i</span><span style="color: #339933;">&lt;=</span><span style="color: #000088;">$end</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: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">==</span><span style="color: #000088;">$start</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;">$fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$start</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//ну на первом цикле переходим естественно в начало данных</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #990000;">fseek</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #990000;">ftell</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$fp</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;">//бегаем по файлу</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000088;">$weNowIn</span><span style="color: #339933;">=</span><span style="color: #990000;">ftell</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: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$end</span><span style="color: #339933;">&lt;</span><span style="color: #000088;">$weNowIn</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000088;">$next</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">25</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;">$next</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">50</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: #000088;">$end</span><span style="color: #339933;">&lt;</span><span style="color: #000088;">$weNowIn</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">25</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000088;">$next</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">10</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;">$next</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">25</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: #000088;">$end</span><span style="color: #339933;">&lt;</span><span style="color: #000088;">$weNowIn</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000088;">$next</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</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;">$next</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
		<span style="color: #000088;">$text</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;">1</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//читаем файл по 2кб</span>
		<span style="color: #990000;">fwrite</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$fpn</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//пищем обработанный текст в новый файл</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">feof</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; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
	<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: #666666; font-style: italic;">//закрываем файлы</span>
	<span style="color: #990000;">fclose</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$fpn</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #000088;">$sign</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;!@#OURsigN#@!&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$devider</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;<span style="color: #660099; font-weight: bold;">\x0</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fopen</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;out.bin&quot;</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: #666666; font-style: italic;">//открываем нужный нам файл на чтение в бинарном режиме, если это дело происходит под виндой</span>
<span style="color: #000088;">$text</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;">512000</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//читаем файл по 512кб</span>
<span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sign</span><span style="color: #339933;">,</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// выбираем данные о файлах</span>
<span style="color: #990000;">array_pop</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$textTableSize</span><span style="color: #339933;">=</span> <span style="color: #990000;">mb_strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sign</span><span style="color: #339933;">.</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #000088;">$sign</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$devider</span><span style="color: #339933;">,</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">array_shift</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">array_pop</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<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: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</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: #000088;">$i</span><span style="color: #339933;">=</span><span style="color: #000088;">$i</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$mass</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: #000088;">$text</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #339933;">+</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>
&nbsp;
<span style="color: #000088;">$startPos</span><span style="color: #339933;">=</span><span style="color: #000088;">$textTableSize</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mass</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$k</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$v</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	splitFiles<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;out.bin&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$startPos</span><span style="color: #339933;">,</span><span style="color: #000088;">$startPos</span><span style="color: #339933;">+</span><span style="color: #000088;">$v</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;./trash/&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$v</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$startPos</span><span style="color: #339933;">=</span><span style="color: #000088;">$startPos</span><span style="color: #339933;">+</span><span style="color: #000088;">$v</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>UPD: вот исходники еще одного варианта но уже с проверкой crc <a href="http://ddev.ru/wp-content/uploads/2011/05/www.zip" >pack/unpack php with crc</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ddev.ru/366/skleit-i-razrezat-bolshie-fajly-na-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>E_ERROR timeout exception перехват в php</title>
		<link>http://ddev.ru/358/e_error-timeout-exception-perexvat-v-php/</link>
		<comments>http://ddev.ru/358/e_error-timeout-exception-perexvat-v-php/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 18:14:16 +0000</pubDate>
		<dc:creator>Eugene Che</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Заметки]]></category>
		<category><![CDATA[Новости]]></category>
		<category><![CDATA[exceptions]]></category>
		<category><![CDATA[e_error]]></category>
		<category><![CDATA[timeout]]></category>

		<guid isPermaLink="false">http://ddev.ru/?p=358</guid>
		<description><![CDATA[Отличный пример нашел у http://insomanic.me.uk/post/229851073/php-trick-catching-fatal-errors-e-error-with-a. Спешу поделится. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 set_time_limit&#40;3&#41;; set_error_handler&#40;'myErrorHandler'&#41;; register_shutdown_function&#40;'fatalErrorShutdownHandler'&#41;; function myErrorHandler&#40;$code, $message, $file, $line&#41; &#123; echo &#34;ok&#34;; lambda&#40;&#41;; &#125; function fatalErrorShutdownHandler&#40;&#41; &#123; $last_error = error_get_last&#40;&#41;; if &#40;$last_error&#91;'type'&#93; === E_ERROR&#41; &#123; // fatal error [...]]]></description>
			<content:encoded><![CDATA[<p>Отличный пример нашел у <a target="_blank" href="http://ddev.ru/goto/http://insomanic.me.uk/post/229851073/php-trick-catching-fatal-errors-e-error-with-a" >http://insomanic.me.uk/post/229851073/php-trick-catching-fatal-errors-e-error-with-a</a>.</p>
<p>Спешу поделится.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">set_time_limit</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">set_error_handler</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'myErrorHandler'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">register_shutdown_function</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'fatalErrorShutdownHandler'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> myErrorHandler<span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #339933;">,</span> <span style="color: #000088;">$message</span><span style="color: #339933;">,</span> <span style="color: #000088;">$file</span><span style="color: #339933;">,</span> <span style="color: #000088;">$line</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;ok&quot;</span><span style="color: #339933;">;</span>
lambda<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">function</span> fatalErrorShutdownHandler<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$last_error</span> <span style="color: #339933;">=</span> <span style="color: #990000;">error_get_last</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;">$last_error</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: #009900; font-weight: bold;">E_ERROR</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #666666; font-style: italic;">// fatal error</span>
myErrorHandler<span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">E_ERROR</span><span style="color: #339933;">,</span> <span style="color: #000088;">$last_error</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'message'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$last_error</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$last_error</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'line'</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: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">function</span> lambda<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #990000;">error_reporting</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><span style="color: #000088;">$x</span><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;=</span><span style="color: #cc66cc;">10000000</span><span style="color: #339933;">;</span><span style="color: #000088;">$x</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #990000;">error_reporting</span><span style="color: #009900;">&#40;</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: #009900;">&#125;</span>
lambda<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://ddev.ru/358/e_error-timeout-exception-perexvat-v-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Скачать видео Вконтакте</title>
		<link>http://ddev.ru/353/skachat-video-vkontakte/</link>
		<comments>http://ddev.ru/353/skachat-video-vkontakte/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 23:59:42 +0000</pubDate>
		<dc:creator>Eugene Che</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Заметки]]></category>
		<category><![CDATA[видео]]></category>
		<category><![CDATA[вконтакте]]></category>
		<category><![CDATA[скрипт]]></category>

		<guid isPermaLink="false">http://ddev.ru/?p=353</guid>
		<description><![CDATA[Написал небольшой скриптик, как скачать видео вконтакте. Смотрите, критикуйте ССЫЛКА]]></description>
			<content:encoded><![CDATA[<p>Написал небольшой скриптик, <strong>как скачать <a href="http://ddev.ru/tag/video/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  видео">видео</a> <a href="http://ddev.ru/tag/vkontakte/"  class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  вконтакте">вконтакте</a></strong>.</p>
<p>Смотрите, критикуйте <a target="_blank" href="http://ddev.ru/goto/http://iteye.ru/in/vkv/" title="Скачать видео вконтакте"  target="_blank">ССЫЛКА</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ddev.ru/353/skachat-video-vkontakte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

