将文件上载到另一个域 - 不正确的属性文件到目标

时间:2014-04-15 10:24:39

标签: php file-upload ftp

使用表单+ PHP上传文件夹中的文件 这很好。

那些相同的文件,我必须在另一个域中复制。 使用以下代码通过FTP上传:

 define("FTP_ADDRESS","DESTINY_SERVER");
 define("FTP_USERNAME","MY_FTP_USER");
 define("FTP_PASSWORD","PASSWORD_FTP");

 $LOCAL_FILE = $_FILES["files"]["tmp_name"][0];
 $FTP_FILE = "LA_RUTA_DE_DESTINO";

 $conn = ftp_connect(FTP_ADDRESS);
 $login = ftp_login($conn, FTP_USERNAME, FTP_PASSWORD);
 ftp_put($conn, $FTP_FILE, $LOCAL_FILE, FTP_ASCII);
 ftp_close($conn);  

将文件上传到另一个域可以正常工作。

问题是在另一个域中,目标域,如果我对上传的文件进行修改,会给我许可问题。

通过POST表单上传文件具有APACHE用户的属性。 但是这些,通过FTP上传的PHP函数,MY_FTP_USER作为所有者,所以我无法使用PHP做任何事情,应该可以使用php CMS来操作它们

我可以做些什么来将文件上传到FTP,然后从PHP可以毫无问题地操作它们?

CHMOD权限存在问题是用户属性问题。

1 个答案:

答案 0 :(得分:0)

上传后文件上传后,您可以更改文件的文件权限级别。将您的php用户与APACHE用户放在同一组中;

$conn = ftp_connect(FTP_ADDRESS);
 $login = ftp_login($conn, FTP_USERNAME, FTP_PASSWORD);
 ftp_put($conn, $FTP_FILE, $LOCAL_FILE, FTP_ASCII);

 // Change permission
 if (ftp_chmod($conn, 0664, $FTP_FILE) !== false) {
    echo "$file chmoded successfully to 0664\n";
 } else {
    echo "Could not chmod $file\n";
 }
 ftp_close($conn); 

664 =>组用户可以修改文件