[英]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 => 组用户可以修改文件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.