Всем доброго утра!
У меня вопрос, я научился пользоваться функцией move_uploaded_file, сначала столкнулся с проблемой, что файлы больше 2 Мб не грузит, зашёл в php.ini и там внёс изменения:
Поставил вот такие вот значения:
upload_max_filesize = 5G
post_max_size = 5G
Я поставил значения на 5 гигабайт. Я такой радостный был, но потом опять расстроился, когда узнал, что method='POST' не работает, значения от input никаких не получаю. Как переделал опять на 2 Мб, всё снова стало работать.
Вот решение, которое мне нужно:
Как мне сделать так, чтобы на сервер можно было бы загружать бесконечное количество файлов с размером хоть 100 Терробайт, но при том условии, что method="post" будет работать, то есть, чтобы с формами можно было бы работать.
Ведь мне так нахваливали этот PHP. А чё это за язык, который больше двух мегабайт загружать не умеет. Ведь знаю я много серверов, которые на PHP написаны, так там гигами выкладывают. Или может быть есть функция, которая убирает лимит или другая функция для загрузки файлов на сервер с использованием PHP?
Буду благодарен, надеюсь, что тему хорошо раскрыл.
1. Генерал2001 - 10 Июля, 2016 - 05:44:10 - перейти к сообщению
2. andrewkard - 10 Июля, 2016 - 08:57:54 - перейти к сообщению
После изменения php.ini сервер перезагрузили?
3. Генерал2001 - 10 Июля, 2016 - 11:39:27 - перейти к сообщению
Ну естественно перезагрузил, всё заработало. Только потом перестали работать input, method="post". Вообще не мог с формами работать. Вот в чём проблема. Уже даже не в загрузке файлов.
4. Viper - 10 Июля, 2016 - 13:00:43 - перейти к сообщению
Генерал2001 или php.ini приложите или результат phpinfo(). Без них смысла нет вести тему.
5. Мелкий - 10 Июля, 2016 - 21:58:50 - перейти к сообщению
Какая ОС? Разрядность? Разрядность и версия PHP?
upload_max_filesize и post_max_size могут быть 32-битными в вашем окружении.
upload_max_filesize и post_max_size могут быть 32-битными в вашем окружении.
6. Генерал2001 - 11 Июля, 2016 - 11:40:39 - перейти к сообщению
ОС: Windows
Разрядность: 64-Бит
Версия PHP: 2.0
А что от этого может быть?
Разрядность: 64-Бит
Версия PHP: 2.0
А что от этого может быть?
7. andrewkard - 11 Июля, 2016 - 11:41:57 - перейти к сообщению
Генерал2001 пишет:
Версия PHP: 2.0
шутите?
8. Мелкий - 11 Июля, 2016 - 12:03:06 - перейти к сообщению
Генерал2001 пишет:
Разрядность: 64-Бит
Версия PHP: 2.0
Версия PHP: 2.0
Невозможно. PHP/FI 2.0, устарел задолго до появления AMD64. В те далёкие времена и 32-битными были не все системы. Шутка ли, с 1996 (бета) по 1998 года (релиз 3.0).
Вероятно, 5.2?
Все версии PHP, кроме 7.0 и старше, под виндами только 32-битные. Значит лимит 4 гб.
Большие файлы отправлять по HTTP вообще дурацкая мысль. Не сможете по какой-нибудь причине передать последние 5 мегабайт - и придётся вам передавать весь файл заново.
9. Sail - 11 Июля, 2016 - 12:43:10 - перейти к сообщению
Мелкий пишет:
Все версии PHP, кроме 7.0 и старше, под виндами только 32-битные
И 5.5 и 5.6 есть 64-битные. Но они позиционируются как экспериментальные
10. Генерал2001 - 11 Июля, 2016 - 12:56:31 - перейти к сообщению
И чё, если 64-битные будут, там без лимита и при этом с формами можно будет работать? input, method="post".
11. Мелкий - 11 Июля, 2016 - 12:56:57 - перейти к сообщению
Sail пишет:
И 5.5 и 5.6 есть 64-битные.
Собрать-то можно и даже соберётся. Вопрос в том, что именно соберётся. В кодовой базе PHP5.x для целых чисел использовался long. На 64-битных *nix - это собирается в 64 бита, на 64-битных виндах - это 32-битное значение. Без глубокой переработки кодой базы, сделанной в PHP7, целочисленные значения под виндами были всегда 32-битные.
https://bugs.php.net/bug.php?id=64863
https://bugs.php.net/bug.php?id=49974 и т.д.
(Добавление)
64-битные значения значения позволят выставить лимит выше 4гб.
post_max_size можно отключить установкой в 0, upload_max_filesize в мануале не описано отключение, а в исходник для странной задачи мне идти лениво.
12. Генерал2001 - 11 Июля, 2016 - 13:04:44 - перейти к сообщению
А если мне, к примеру надо будет 30 Гб? И чё тогда?
13. Viper - 11 Июля, 2016 - 13:12:29 - перейти к сообщению
Генерал2001 пишет:
ниче. Упретесь в лимит апача.
А если мне, к примеру надо будет 30 Гб? И чё тогда?
14. Генерал2001 - 11 Июля, 2016 - 13:14:29 - перейти к сообщению
Всмысле?
15. IllusionMH - 11 Июля, 2016 - 16:07:06 - перейти к сообщению
Генерал2001, нормальные люди большие файлы не грузят постом, а грузят небольшими кусками(чанками) и на сервере "собирают".
http://www[dot]resumablejs[dot]com/ и пример на пыхе https://github[dot]com/23/resumable[dot][dot][dot][dot]nd%20on%20PHP[dot]md
http://www[dot]resumablejs[dot]com/ и пример на пыхе https://github[dot]com/23/resumable[dot][dot][dot][dot]nd%20on%20PHP[dot]md