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


You can leave a response, or trackback from your own site.

Leave a Reply