Я работаю над загрузкой файла через веб-страницу с помощью индикатора выполнения с помощью загрузчика файлов Valums. Почти все работает нормально, но я не могу изменить каталог tmp по умолчанию, где файл хранится во время загрузки.
Файлы должны храниться в директории /upload, а не в директории system /tmp по умолчанию, поскольку /tmp монтируется в RAM-диске, размер которого ограничен 4 Мб, а пользователь будет загружать файлы около 10 MB.
Я искал много веб-страниц, но ни один из решений не работал.
Я установил каталог temp в php.ini:
upload_tmp_dir =/upload
Я установил разрешения для /upload dir, и apache является владельцем файла, поэтому каталог определенно доступен для записи через PHP.
Я установил целевой путь в загрузчик файлов на /upload, потому что я хочу, чтобы файлы сохранялись после загрузки также в этом каталоге. Конечный результат - небольшие файлы загружаются успешно, но файлы размером более 4 Мб не загружаются - единственная причина такого поведения, которая приходит мне на ум, заключается в том, что файлы хранятся в /tmp во время загрузки. Разумеется, я проверил его с помощью sys_get_temp_dir(), и результат был /tmp, так как PHP игнорирует мою директиву php.ini или есть другой способ установить, где файлы хранятся во время загрузки.
О, и последняя информация: open_basedir не установлена, поэтому доступ к диску на PHP ограничен только правами на файл.