Php 将文件上载到";“资产”;通过move_上传的_文件()的文件夹

Php 将文件上载到";“资产”;通过move_上传的_文件()的文件夹,php,rightnow-crm,oracle-service-cloud,Php,Rightnow Crm,Oracle Service Cloud,在服务云(FKA RightNow)客户门户中,“资产”文件夹不是可写的吗 我试图将文件上载到“资产”文件夹中的子文件夹,但似乎遇到了权限问题。我使用的代码是: $file_name = "File_".time().".txt"; if(move_uploaded_file($_FILES['upload']['tmp_name'], HTMLROOT . '/euf/assets/uploads/text/'.$file_name)) { he

在服务云(FKA RightNow)客户门户中,“资产”文件夹不是可写的吗

我试图将文件上载到“资产”文件夹中的子文件夹,但似乎遇到了权限问题。我使用的代码是:

$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;
}
这将引发一个错误,该错误声明:

对移动上传文件的访问被拒绝,因为它试图访问

是否无法通过PHP将上传的文件保存到“资产”子文件夹中

编辑:

目的地似乎是正确的,好像我使用了:

echo HTMLROOT . '/euf/assets/uploads/text/'.$file_name
它打印:

/vhosts/sitename/euf/assets/upload/text/File_1480674311.txt
因此引用了正确的文件路径,但框架不允许我将其保存在其中

更新 用例是这样的,通过CP,一个人将上传一个CSV/TXT文件。此文件将包含联系人信息(姓名、电子邮件等),然后(在稍后阶段)将读取这些信息以在OSvC中创建联系人。这将是一个反复出现的过程,可能一个月两到三次


由于上传时不会读取文件,因此将文件存储在某处是理想的解决方案。

正确,文件夹受WebDAV和文件系统强制执行的用户权限保护。而且,资产文件夹不打算作为上载的文件存储机制,因为您正在使用此容量

是否有理由将文件放置在资产中,而不是将其附加到在客户门户中操作的人员的上下文中的事件或联系人对象


如果您希望在客户门户中构建某种内容管理,那么我建议使用一个单独的文件存储产品,该产品提供一个API,您可以在其中以更高的粒度管理文件,如Oracle云数据存储,然后您可以在CP中为这些文件提供服务。

正确,文件夹受WebDAV和文件系统强制执行的用户权限保护。而且,资产文件夹不打算作为上载的文件存储机制,因为您正在使用此容量

是否有理由将文件放置在资产中,而不是将其附加到在客户门户中操作的人员的上下文中的事件或联系人对象


如果您希望在客户门户中构建某种内容管理,那么我建议使用单独的文件存储产品,该产品提供一个API,您可以在其中以更高的粒度管理文件,如Oracle云数据存储,然后您可以从CP中提供这些文件。

将联系人记录或任何其他敏感数据存储在资产文件夹中是非常糟糕的做法。这些文件与存储在assets文件夹中的任何其他文件一样公开-css、js、图像

文件结构中还有其他文件夹更适合此用途。它们只能从代码级别访问


您是否碰巧使用了v16.8?

资产文件夹中存储联系人记录或任何其他敏感数据是非常糟糕的做法。这些文件与存储在assets文件夹中的任何其他文件一样公开-css、js、图像

文件结构中还有其他文件夹更适合此用途。它们只能从代码级别访问


您有机会上v16.8吗?

嗨,斯科特。用例是这样的,通过CP,客户端将上传CSV/TXT文件。此文件将包含联系人信息(姓名、电子邮件等),然后(在稍后阶段)将读取这些信息以在OSvC中创建联系人。这将是一个反复出现的过程。正如所建议的,我可以将其存储为事件附件,但我希望避免为此创建事件。但是,如果没有其他方法将文件上传到文件系统,那么我想我必须考虑一种解决方法。Oracle云数据存储是一种选择,但我认为要花费额外的$$。根据Luke G的评论,这不是一个你应该考虑的实践。即使在代码级别,也不应该将客户数据存储在FS上未经处理的平面文件中;您至少需要加密这些文件。如果您需要自动化数据传输,那么使用REST或SOAPWeb服务来避免您在当前路线上遇到的麻烦。用例是这样的,通过CP,客户端将上传CSV/TXT文件。此文件将包含联系人信息(姓名、电子邮件等),然后(在稍后阶段)将读取这些信息以在OSvC中创建联系人。这将是一个反复出现的过程。正如所建议的,我可以将其存储为事件附件,但我希望避免为此创建事件。但是,如果没有其他方法将文件上传到文件系统,那么我想我必须考虑一种解决方法。Oracle云数据存储是一种选择,但我认为要花费额外的$$。根据Luke G的评论,这不是一个你应该考虑的实践。即使在代码级别,也不应该将客户数据存储在FS上未经处理的平面文件中;您至少需要加密这些文件。如果您需要自动化数据传输,那么可以使用REST或SOAPWeb服务来避免在当前路径中遇到的麻烦。这是一个很好的观点。但是,我不确定CP的任何文件夹是否启用了允许文件上载的写入权限。关于v16.8不太清楚,但这是我从管理部分
Build 619 SP 2,CP 619
中得到的信息。下面是如何检查您所在的版本:YOURSITE.custhelp.com/ci/aboutSame thing
软件版本:Oracle Service Cloud 2016年8月(Build 619,CP 619)SP2
2016年8月=16.8当您升级到下一版本时,此问题可能会消失。在此之前,请尝试使用不同的文件夹,例如“/custom”(也对公众开放)。这是一个很好的观点。但是,我不确定