Я пытаюсь развернуть проект PHP, созданный на платформе CodeIgniter, на компьютере с Linux.
Перемещение загруженного файла из временного каталога в указанный каталог по какой-то причине не работает.
Информация
- PHP 7.2.19
- CentOS 7
- CodeIgniter 3.0.6
Примечания
- Я проверил, что целевой каталог, в котором находится каталог, не существует (отсутствуют дублирующиеся файлы с тем же именем, что и перемещаемый файл).
- Я проверил права доступа к каталогу, и все должно быть в порядке (я установил группу на apache с разрешениями = владелец пользователя)
- Проверен ACL и он соответствует обычным разрешениям.
$_FILES['file']['error'] = 0
(до и после вызова move_uploaded_file
)
file_exists
возвращает true для $_FILES['file']['tmp_name']
is_uploaded_file
возвращает true для $_FILES['file']['tmp_name']
open_basedir
не установлено
- Загруженный файл меньше, чем ограничения на количество записей и файлов.
Последнее, что стоит упомянуть, приготовьтесь к тому, что существует еще одна копия сайта (развернутая на том же сервере с другим именем каталога), и загрузка работает просто отлично. Различают обе директории, чтобы поймать разные, но ничего не нашли (кроме некоторых представлений с некоторыми обновлениями, ничего не связанного с конфигурациями, .htacess вообще).
Любая подсказка, на что мне смотреть?
Обновление 1
Код:
$createdFileName = NULL;
$files = $_FILES;
if (count($files) > 0) {
$createdFileName = $this->GUID();
$target_file = './upload/' . $createdFileName;
$path_info = pathinfo($files["file"]["name"]);
if (isset($path_info['extension'])) {
$ext = $path_info['extension'];
} else /*if (!$ext)*/ {
$ext = substr($files['file']['type'], strrpos($files['file']['type'], '/') + 1);
}
$success = move_uploaded_file($files["file"]["tmp_name"], $target_file);
if (!$success) {
$result = json_encode(array('result' => FALSE, 'message' => 'Couldn\'t upload image file'));
}
}
Это код, который работает с другим проектом и не работает с проектом, над которым я работаю.
Я узнал о значениях error
и других при удаленной отладке проекта.
Обновление 2
Ниже приведены разрешения для каталога загрузки.
drwxrwxr-x. 2 demoroot apache 4.0K Jun 9 14:06 upload/
Ниже выводится getfacl
:
# file: upload/
# owner: demoroot
# group: apache
user::rwx
group::rwx
other::r-x