PHP скрипт, генерирующий страницу с заданным размером

При тестировании биллинга бывает нужно списать определенный размер трафика. Из зарубежных ресурсов может быть полезным http://www.thinkbroadband.com/download.html, из российских - http://upyachka.ru/ (осторожно, трафик!). Но в первом случае появляется зависимость от полосы пропускания внешней линии, а во втором - нельзя указать размер страницы. И здесь нам на помощь придет PHP. Пример использования скрипта: http://hostname/configured_size.php?min=2000&max=4000 - размер страницы в заданном диапазоне. В случае если вам нужен точный размер, укажите одинаковое значение min и max Исходник:
<?php
header("Content-type: text/html\n\n");
 
if (isset($_GET["min"])) {
	$min=$_GET["min"];
} 
else {
	$min=1000;
}
 
if (isset($_GET["max"])) {
	$max=$_GET["max"];
} 
else {
	$max=1000;
}
 
$size = rand($min, $max);
 
//echo "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">"
echo "<html>";
echo "<head>";
echo '<title>Sample page with size ';
echo "$size bytes";
echo '</title>';
 
echo '</head>';
echo '<body>';
 
$iterations = ($size - 82 - strlen($size)); // 82 is for the characters between <html>...</html> including these tags
 
for ($i=0; $i < $iterations; $i++) {
	echo "1";
};
echo '</body>';
echo '</html>';
?>
Есть еще один способ. Можно просто создать командой группу файлов с шагом 1 Мбайт и запрашивать их по имени (которое будет однозначно определять размер):
# for (( x=1; x<501; x++ )); do fallocate -l ${x}M ${x}MB.file.txt; done
[sc:social_networks ]
You can leave a response, or trackback from your own site.

Leave a Reply