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


Upload files to another domain - Incorrect property files to destination

使用表单+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用户。但是这些,通过带有PHP函数的FTP上传的,MY_FTP_USER作为所有者,所以我不能使用PHP对它们做任何事情,应该能够使用PHP-CMS 对它们进行操作

我该怎么做才能将文件上传到FTP,然后从PHP可以毫无问题地对其进行操作?

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

您可以在上传后更改文件上传后的文件权限级别。将您的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=>组用户可以修改文件