Я работаю над загрузкой файла через веб-страницу с помощью индикатора выполнения с помощью загрузчика файлов 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 ограничен только правами на файл.