параметр upload_max_filesize = 10Мb.
Файлы большего размера можно загружать следующим способом:
Ввиду ограничений, установленных в конфигурации PHP на сервере директивой upload_max_filesize, не представляется возможным загрузить файл большого размера через web-форму. В таком случае можно поступить так: разбить файл на части, загрузить по частям, и собрать из отдельных частей снова в единый файл.
Допустим, имеется файл big_file.zip, который необходимо разбить на части по 10 Kb. Напишем сценарий, выполняющий эту задачу:
<?php
$filename = 'big_file.zip';
$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++;
for($i=0; $i<$count; ++$i)
{
$part = substr($bufer,$i*$piece,$piece);
$fp = fopen("big_file.part".$i,"w");
fwrite($fp,$part);
fclose($fp);
}
?>
Скрипт разбивает файл на несколько частей, каждая из которых получает расширение *.partN (где N - подрядковый номер части).
Теперь напишем сценарий, решающий обратную задачу - склейку файла из отдельных частей:
<?php
$buffer = "";
for($i=0; $i<100000; ++$i)
{
$filename = "big_file.part".$i;
if(file_exists($filename))
{
$fp = fopen($filename,"r");
$buffer .= fread($fp,filesize($filename));
fclose($fp);
}
else
{
break;
}
$fp = fopen("file_final.zip","w");
fwrite($fp, $buffer);
fclose($fp);
}
?>