Файл: mp3.php
Строк: 105
<?php
include 'inc/db_connect.php';
include 'inc/function.php';
include 'inc/set.php';
$u_title = "Нарезка MP3";
include 'inc/head.php';
include 'inc/classAudioFile.php';
$s = intval($_POST['s']);
$p = intval($_POST['p']);
if ($_POST['way'] != 'size' and $_POST['way'] != 'time' and isset($_POST['way']))
{
exit('ошибочка вышла. обратитесь к администратору.');
}
###############Получаем инфу о файле###########
$file_info = mysql_fetch_array(mysql_query('SELECT * FROM `' . $table . '` WHERE `id` = ' . $id));
if (!is_file($file_info['s_name']))
exit('Запрашиваемый файл не существует!');
#######Получаем имя файла и обратный каталог#####
$filename = pathinfo($file_info['s_name']);
$ext = $filename['extension'];
$dir = $filename[dirname] . '/';
$filename = $filename[basename];
//------------------------------------------------------------------------------------------
if (!$_POST['a'])
{
$AF = new AudioFile;
$AF->loadFile($file_info['s_name']);
$AF->printSampleInfo();
// ------------------------Форма ввода параметров---------------------------
echo '<div class="navi">Нарезка MP3</div>
<div>
<form action="mp3.php?c=' . $table . '&id=' . $id . '" method="post">
Способ нарезки:<br>
<select class="enter" name="way">
<option value="size">по размеру</option>
<option value="time">по времени</option>
</select><br>
Начать с (кб или сек.):<br>
<input maxlength="5" class="enter" type="text" name="s"/><br>
Закончить по (кб или сек.):<br>
<input maxlength="5" class="enter" type="text" name="p"/><br>
<input class="buttom" type="submit" name="a" value="Нарезка"/>
</form></div>';
} else
{
$list = glob('temp/*');
$all = sizeof($list);
foreach ($list as $key => $string)
{
$filesize = round(filesize($string) / 1024 / 1024, 1);
$allsize = $allsize + $filesize;
if ($allsize > 15)
{
$dire = opendir('temp/');
while ($file = readdir($dire))
{
if (($file != '.') && ($file != '..'))
unlink('temp/' . $file);
}
break;
}
}
$randname = $_SERVER['SERVER_NAME'] . '_' . basename($file_info['s_name']) . '_' . mt_rand(100000, 99999999) . '.mp3';
$randintval = rawurldecode('temp/' . $randname);
if (copy($file_info['s_name'], $randintval))
{
$fp = fopen($randintval, 'rb');
$raz = filesize($randintval);
if ($_POST['way'] == 'size')
{
$s = $s * 1024;
$p = $p * 1024;
if ($s > $raz || $s < 0)
{
$s = 0;
}
if ($p > $raz || $p < $s)
{
$p = $raz;
}
} else
{
$AF = new AudioFile;
$AF->loadFile($file_info['s_name']);
$byterate = intval($AF->wave_byterate) / 8;
$secbit = $raz / 1024 / $byterate;
if ($s > $secbit || $s < 0)
{
$s = 0;
}
if ($p > $secbit || $p < $s)
{
$p = $secbit;
}
$s = $s * $byterate * 1024;
$p = $p * $byterate * 1024;
}
$p = $p - $s;
fseek($fp, $s);
$filefp = fread($fp, $p);
fclose($fp);
unlink($randintval);
$fp = fopen($randintval, 'xb');
if (!fwrite($fp, $filefp) === false)
{
$fp = fopen($randintval, 'rb');
$ras = round(filesize($randintval) / 1024);
;
fclose($fp);
$all++;
//mysql_query('UPDATE `files` SET `loads`=`loads`+1, `timeload`="'.$time.'" WHERE `id`='.$id);
echo '<div class="post">Файл успешно нарезан!<br />
<a href="' . $randintval . '"><strong>Скачать (' . $ras . ' кб)</strong></a><br>
</div>';
} else
{
echo '<div class="post">Ошибка! Обратитесь к администратору или попробуйте еще раз.</div>';
}
} else
echo '<div>Не удалось считать файл!</div>';
}
echo '<div><a href="file.php?c=' . $table . '&id=' . $id . '">К файлу</a></div>';
include 'inc/foot.php';
?>