Как прикрепить большой файл в материал (модуль upload)

Главные вкладки

Аватар пользователя Anton L. Safin Anton L. Safin 26 ноября 2010 в 21:45

Есть проблема: в настройках хостинга максимальный размер загружаемых по http файлов - 10Mb, а нужно загрузить файл в 50Mb. Ну и вообще большие файлы удобнее загружать по FTP.

Решение "в лоб":

  1. Создаем пустой файл с нужным именем
  2. При помощи модуля upload "прицепляем" к материалу
  3. Через FTP заменяем нулевой файл на тот, который нам нужен
  4. Выполняем нехитрый SQL-скрипт - к примеру, через модуль devel:
$res = db_query('select * from {files}');
while ($file=db_fetch_object($res)) {
IF ($file->filesize == 0) db_query("update {files} set filesize=%d where fid=%d",filesize($file->filepath),$file->fid);
}

Вуаля! Все файлы имеют реальный размер.

P.S. Для filefield задача решается проще - при помощи модуля [module=filefield_sources]

Комментарии

Аватар пользователя Dеmimurych Dеmimurych 26 ноября 2010 в 22:20

а почему не написать такой же скрипт который сканирует определенную папочку на предмет новых файлов и не вносит найденное в таблицу?

Аватар пользователя Anton L. Safin Anton L. Safin 1 декабря 2010 в 19:49

Я встречал подобные решения - когда для каждого файла создавалась отдельная нода. Но если мне нужно, например, несколько файлов к одной ноде прикрепить (что, кстати, мне и нужно было в данном случае)?