Revision d579e3db
Added by Seth Mos over 13 years ago
usr/local/www/status_dhcp_leases.php | ||
---|---|---|
55 | 55 |
killbyname("dhcpd"); |
56 | 56 |
|
57 | 57 |
/* Read existing leases */ |
58 |
$leases_contents = explode("\n", file_get_contents($leasesfile));
|
|
58 |
$leases_contents = file($leasesfile);
|
|
59 | 59 |
$newleases_contents = array(); |
60 | 60 |
$i=0; |
61 | 61 |
while ($i < count($leases_contents)) { |
... | ... | |
146 | 146 |
$arpdata[] = $arpent['ip']; |
147 | 147 |
} |
148 | 148 |
} |
149 |
|
|
149 |
unset($rawdata); |
|
150 | 150 |
$pools = array(); |
151 | 151 |
$leases = array(); |
152 | 152 |
$i = 0; |
... | ... | |
154 | 154 |
$p = 0; |
155 | 155 |
|
156 | 156 |
// Put everything together again |
157 |
while($i < $leases_count) {
|
|
157 |
foreach($leases_content as $lease) {
|
|
158 | 158 |
/* split the line by space */ |
159 |
$data = explode(" ", $leases_content[$i]);
|
|
159 |
$data = explode(" ", $lease); |
|
160 | 160 |
/* walk the fields */ |
161 | 161 |
$f = 0; |
162 | 162 |
$fcount = count($data); |
... | ... | |
258 | 258 |
} |
259 | 259 |
$l++; |
260 | 260 |
$i++; |
261 |
/* slowly chisel away at the source array */ |
|
262 |
array_shift($leases_content); |
|
261 | 263 |
} |
264 |
/* remove the old array */ |
|
265 |
unset($lease_content); |
|
262 | 266 |
|
263 | 267 |
/* remove duplicate items by mac address */ |
264 | 268 |
if(count($leases) > 0) { |
Also available in: Unified diff
Improve the memory use while processing the leases file.