Загрузите файл в папку "assets" с помощью move_uploaded_file()

В клиентском портале Service Cloud (FKA RightNow) папка "assets" не доступна для записи?

Я пытаюсь загрузить файл в подпапку в папке "assets", но у меня, похоже, возникают проблемы с разрешениями. Код, который я использую:

$file_name = "File_".time().".txt";
if(move_uploaded_file($_FILES['upload']['tmp_name'], HTMLROOT . '/euf/assets/uploads/text/'.$file_name))
{
    header("Location: /app/read_file/file_name/".$file_name);
    exit;
}

Это выдает ошибку, которая гласит:

Доступ к файлу move_uploaded_file запрещен, поскольку он пытается получить доступ к закрытым папкам в......

Нет ли способа сохранить загруженный файл в подпапку "assets" через PHP?

РЕДАКТИРОВАТЬ:

Назначение кажется правильным, как будто я использую:

echo HTMLROOT . '/euf/assets/uploads/text/'.$file_name

это печатает:

/vhosts/sitename/euf/assets/upload/text/File_1480674311.txt

Таким образом, указывается правильный путь к файлу, но каким-то образом фреймворк не позволяет мне сохранить его там.

Обновить

Вариант использования таков, что через CP человек загружает файл CSV/TXT. Этот файл будет содержать контактную информацию (имя, адрес электронной почты и т. Д.), Которая затем будет прочитана (на более позднем этапе) для создания контактов в OSvC. Это будет повторяющийся процесс, возможно, два или три раза в месяц.

Поскольку чтение файла не произойдет во время загрузки, хранение файла где-то является идеальным решением.

2 ответа

Решение

Правильно, папки защищены пользовательскими правами, которые применяются WebDAV и файловой системой. Кроме того, папка ресурсов не предназначена для использования в качестве механизма хранения файлов для загрузки, которую вы используете в этом качестве.

Есть ли причина, по которой вы размещаете файлы в активах, а не присоединяете их к объектам инцидентов или контактам, которые находятся в контексте кого-то, работающего на Портале клиентов?

Если вы хотите встроить какое-либо управление контентом в Customer Portal, то я бы предложил использовать отдельный продукт для хранения файлов, который предоставляет API, где вы можете управлять файлами с большей степенью детализации, например Oracle Cloud Data Storage, где вы можете затем подайте эти файлы из КП.

Хранение записей контактов или любых других конфиденциальных данных в папке активов - ОЧЕНЬ ПЛОХАЯ ПРАКТИКА. Эти файлы открыты для общественности, как и любые другие файлы, хранящиеся в папке активов - CSS, JS, изображения...

В структуре файла есть и другие папки, которые намного лучше подходят для этой цели. Они доступны только с уровня кода.

Вы случайно не на 16.8?

Другие вопросы по тегам