0

组,我面临 curl 文件传输的问题。我在站点 A 中有一个表单。该表单收集了一些数据和一个文件(文件上传)。当该表单被提交时,它将数据存储在站点 A 中,并将数据存储在站点 B(另一台服务器)中。数据正在从服务器 A 保存到服务器 B。但是使用 curl 传输文件存在文件权限问题。我的文件需要 0777 chmod 才能让 curl 读取和传输。

我要做的是阅读文件

chunk_split(base64_encode(file_get_contents($file))); 

从站点 A 并将该数据传输到站点 B(另一台服务器)。如果我更改站点A文件中需要读取的权限,通过shell作为root,chmod 777,并进行curl传输,那么它会完美地存储在服务器B中。但是当我通过代码进行文件传输时我无法使用 chmod 函数,因为该文件在用户中存储为“apache”,而不是“root”。

详细解释:

我有一个带有 chronoform 查询表的 joomla 网站。我在 chrnoform 中有一些文本和一个文件上传。当用户要求报价时,这些数据需要存储在 sugerCRM(sugarCRM 潜在客户模块、网络到潜在客户表单、活动)中。Joomla站点在服务器A,sugarCRM在服务器B。上传的文件将存储在sugarCRM的notes表(mysql)中。如果我手动将文件更改为 chmode 777,则一切正常。但我希望有人以 chronoform 上传文件时发生这种情况。我通过 php 代码尝试了 chmod,但它不起作用,因为创建文件的程序将“apache”作为用户而不是“root”用户。任何解决方法?我只需要知道是否通过程序将文件权限从0644更改为0777。有什么帮助吗?如果有人想查看代码,那么我可以粘贴代码并将其发布在这里。

4

1 回答 1

0

That file that changes the permissions will need to have the same permissions as the account you use to change it manually. you can give apache or www-data persmissions to make changes to certain files/directories (or sudo) but i do not recommend it.

于 2012-10-13T06:57:43.963 回答