|
|
|
| продолжаю тему...
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=49223&page=1
я не понимаю как реализовать вот этот скрипт на свой....
Разбивка файла на части .
<?php
// Имя файла
$filename = "site.rar";
// Разбиваем файл на части по 10 000 байт
$piece = 10000;
// Открываем исходный файл для чтения
$fp = fopen($filename, " r " ) ;
// Читаем содержимое файла в буфер
$bufer = fread($fp, filesize($filename));
// Закрываем файл
fclose($fp);
// Подсчитываем число частей, на которые необходимо разбить файл
$count = (int)filesize($filename)/$piece;
if((float)(filesize($filename)/$piece) - $count ! = 0) $count++;
// В цикле разбиваем содержимое файла в переменной $bufer на части
for($i=0; $i<$count; ++$i)
{
$part = substr($bufer,$i*$piece,$piece);
// Сохраняем текущую часть в отдельном файле
$fp = fopen("Site.tm".$i,"w");
fwrite($fp, $part);
fclose($fp);
}
?>
|
Обратную задачу по сбору файла из отдельных частей выполняет скрипт
Объединение частей файла в единое целое
<?php
$buffer = "";
for($i=0; $i<100000; ++$i)
{
// Генерируем имя файла
$filename = "site.tm".$i;
// Если такой файл существует, добавляем его содержимое к $buffer
if(file_exists($filename))
{
$fp = fopen($filename,"r");
$buffer . = fread($fp,filesize($filename));
fclose($fp);
}
else
{
// Если файл с таким именем не существует, выходим из цикла
break;
}
// Склеенные в переменной $bufer части помещаем в конечный файл
$fp = fopen("site_final.rar","w");
fwrite($fp, $buffer);
fclose($fp);
}
?>
|
у меня сейчас стоит вот такого плана....
<?php
if($_FILES["filename"]["size"] > 1024*10*1024)
{
echo ("Размер файла превышает 10 мегабайт");
exit;
}
if(copy($_FILES["filename"]["tmp_name"],
"mp3/".$_FILES["filename"]["name"]))
{
echo("<b>Файл успешно загружен!</b><br><br>");
echo("<b>Характеристики файла:</b><br>");
echo("<b>Имя файла:</b> ");
echo($_FILES["filename"]["name"]);
echo("<br><b>Размер файла (кб.):</b> ");
echo($_FILES["filename"]["size"]);
echo("<br><b>Тип файла:</b> ");
echo($_FILES["filename"]["type"]);
$filepath="http://mysite/upload/mp3/".$_FILES["filename"]["name"];
}
else {
echo("<p><b>Ошибка загрузки файла...</b>");
echo("<br><b>Причина: </b>");
?>
|
и не понимаю как собрать их вместе... подскажите.... | |
|
|
|
|
|
|
|
для: shmel79
(29.02.2008 в 17:01)
| | блин... че никто не поможет?.. | |
|
|
|
|
|
|
|
для: shmel79
(29.02.2008 в 20:20)
| | Вопрос не понятен... как выглядит у вас HTML-форма, которая позволяет загружать несколько фрагментов файла? | |
|
|
|
|
|
|
|
для: cheops
(01.03.2008 в 12:53)
| | Вот форма для загрузки файла!
<form action="add_music.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="10000000000" />
<p>
<label>Исполнитель:<br>
<input name="name" type="text" id="nameuchast" size="45">
</label>
</p>
<p>
<label>Название трека:<br>
<input name="description" type="text" id="title" size="45">
</label>
</p>
<p>
<label>Загрузить файл:<br>
<input size="45" type="file" name="filename">
</label>
</p>
<p><input type="submit" value="Загрузить файл"></p><br>
</form>
|
| |
|
|
|
|
|
|
|
для: shmel79
(02.03.2008 в 23:29)
| | Т.е. вы загружаете только один файл? Если вы хотите загружать файл пофрагментно, вам необходимо будет добавить в HTML-форму несколько полей типа file. Проверять загружены ли они и если да объединять их в единый файл. | |
|
|
|