X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Скрипт загрузки фалов, Как выставить максимальный размер на загружаемый файл?
toorr2p
toorr2p
Topic Starter сообщение 13.5.2009, 1:44; Ответить: toorr2p
Сообщение #1


Помогите разобратся...Как в скрипте для загрузки файлов выставить "БЕЗЛИМИТА" или на определенный размер?

Скрипт:
<?php
/*Скрипт загрузки файла*/
if($_FILES["filename"]["size"] > 1024*3*1024)
{
echo ("Размер файла превышает три мегабайта");
exit;
}
if(copy($_FILES["filename"]["tmp_name"],
"../files/materials/".$_FILES["filename"]["name"]))
{
/*Если файл загружен то создаем переменную и заносим в нее имя файла*/
$filename = $_FILES["filename"]["name"];
/*Создаем переменную с именем каталога для файлов и пристыковываем к ней переменную с именем файла - формируем ссылку*/
$dir = "files/materials/";
$link = $dir.$filename;
} else {
echo("Ошибка загрузки файла");
}
?>

В инструкции к скрипту написано:
Максимальный размер загружаемого файла можно также задать при помощи директивы upload_max_filesize, значение которой по умолчанию равно 2 Мбайт:


if($_FILES["filename"]["size"] > upload_max_filesize)


так как использовать эту директиву? как ее прописать,с каким значением???
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
yury_mw
yury_mw
сообщение 13.5.2009, 13:13; Ответить: yury_mw
Сообщение #2


Вячеслав,
Есть подозрение, что сделать можно так

* Без лимита
удалить/закоментировать следующий кусок кода

if($_FILES["filename"]["size"] > 1024*3*1024)
{
echo ("Размер файла превышает три мегабайта");
exit;
}


* Установить лимит размера
изменяем этот же кусок кода на следующее
$limit = 5; // тут пишем размер ограничения в Мб
if($_FILES["filename"]["size"] > 1024*$limit*1024)
{
echo ("Размер файла превышает $limit Мб");
exit;
}
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 13.5.2009, 14:26; Ответить: ZiTosS
Сообщение #3


yury, вы не правы. Максимальный размер закачиваемого файла определяет сервер, а именно PHP-интерпретатор. В файле php.ini есть директива upload_max_filesize
Если сервер не запрещает изменение флагов php.ini с помощью .htaccess, то там это делается так:
php_value upload_max_filesize [новое количество байтов]

А если сервер не запрещает использование функции ini_set(), то тогда ещё легче... Достаточно вначале скрипта написать так:
ini_set(upload_max_filesize,[новое количество байтов]);
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 25.5.2009, 7:16; Ответить: toorr2p
Сообщение #4


Все никак не разберусь, как прописать размер файла например в 100 или 300МБ?

вот так пробовал
ini_set("upload_max_filesize[307200*300*307200]");


Выдает ошибку:
Wrong parameter count for ini_set()

Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
yury_mw
yury_mw
сообщение 26.5.2009, 15:37; Ответить: yury_mw
Сообщение #5


Вячеслав,
300Мб = 314572800 байт. Вот эту цифру и пишите.

Для справки: вы пытались задать размер файла в 307200*300*307200 = 28.311.552.000.000 = более 28 терабайт.
Диски такой емкости пока большая редкость, потому, наверно, и ругается php. :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 27.5.2009, 6:27; Ответить: toorr2p
Сообщение #6


Пишу вот так:
<?php
/*Скрипт загрузки файла*/
ini_set(upload_max_filesize,[314572800]);
if(copy($_FILES["filename"]["tmp_name"],
"../files/materials/".$_FILES["filename"]["name"]))
{
/*Если файл загружен то создаем переменную и заносим в нее имя файла*/
$filename = $_FILES["filename"]["name"];
/*Создаем переменную с именем каталога для файлов и пристыковываем к ней переменную с именем файла - формируем ссылку*/
$dir = "files/materials/";
$link = $dir.$filename;
} else {
echo("Ошибка загрузки файла");
}
?>

И все равно выдает ошибку :) ;)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
yury_mw
yury_mw
сообщение 27.5.2009, 12:12; Ответить: yury_mw
Сообщение #7


(Вячеслав @ 27.5.2009, 6:27) *
Пишу вот так:

ini_set(upload_max_filesize,[314572800]);

И всеравно выдает ошибку :) ;)

Зачем тут квадратные скобки то??? это же обыкновенный числовой параметр.

Правильно так
* либо в .htaccess:
php_value upload_max_filesize 314572800

* либо в начало скрипта
ini_set(upload_max_filesize, 314572800);
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 27.5.2009, 22:39; Ответить: ZiTosS
Сообщение #8


Вячеслав, yury правильно говорит, это же обычная функция php у неё 2 параметра.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 28.5.2009, 19:46; Ответить: toorr2p
Сообщение #9


Всеравно пишет "Ошибка загрузки файла" я и htaccess создал и всеравно тотже результат :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 28.5.2009, 20:08; Ответить: ZiTosS
Сообщение #10


Проверь этот список:
http://www.php.net/manual/en/ini.php


'upload_max_filesize' и 'post_max_size' являются типом PHP_INI_PERDIR, которые "можно установить в php.ini, .htaccess или httpd.conf". Ты не можешь устанавливать эти параметры в вашем сценарии.

или я имею возможность использовать .htaccess файл?

Ты, возможно, смог бы, если админ сервера не запретил эту особенность.

P.s. это я вычитал на забугорном сайте, поэтому данный параметр ты не можешь менять именно в скрипте!
Возможность изменения доступна только в php.ini, .htaccess или httpd.conf
Но не нужно забывать, что php.ini это файл сервера, к которому имеет доступ только админ. .htaccess и httpd.conf так же не всегда разрешают изменять размер загружаемых файлов, всё опять же определяют настройки сервера
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Продам скрипт rtb exchange suite - система перепродажи трафика dsp/ssp в реальном времени.
5 buypushplatform 4303 23.4.2024, 21:02
автор: 100ftd
Открытая тема (нет новых ответов) Скрипт поисковика видео StrongTube
3 3josoft 1576 14.8.2023, 14:45
автор: 3josoft
Открытая тема (нет новых ответов) Скрипт приема платежей p2p с карты на карту card2card
Скрипт приема платежей p2p с карты на карту card2card
15 zladey1986 7841 26.3.2023, 8:54
автор: Palundra
Открытая тема (нет новых ответов) Продам скрипт перевода постов и комментариев
4 Tutich 788 19.1.2023, 17:23
автор: Tutich
Открытая тема (нет новых ответов) Битрикс скрипт нативной установки
3 Nemo 2454 20.11.2022, 10:09
автор: Webmaster24


 



RSS Текстовая версия Сейчас: 25.4.2024, 7:30
Дизайн