文件名无效 Filezilla localhost



我在FileZilla的本地主机服务器有问题。我有共享文件夹和凭据的设置。文件齐拉设置 *图片

class FtpConfig 
{
public const SERVER = '127.0.0.1';
public const USER = 'root';
public const PASSWORD = 'root';
public const TARGET_DIR = 'C:/Users/B4UTR3N/Desktop/images/';
public const DESTINATION_DIR = './images/';
}
public static function upload($name): string
{
$conn = ftp_connect(FtpConfig::SERVER);
$uploadFile = FtpConfig::TARGET_DIR . basename($_FILES[$name]['name']);
$destinationPath = FtpConfig::DESTINATION_DIR . basename($_FILES[$name]['name']);
$uploadFileFTP = $_FILES[$name]['tmp_name'];
ftp_login($conn, FtpConfig::USER, FtpConfig::PASSWORD);
ftp_put($conn, $uploadFile, $uploadFileFTP, FTP_BINARY) or die('Error with upload file on server' . PHP_EOL); // todo MS DIE_DELETE;
return $destinationPath;
}

.LOG:

(000025)10.06.2020 17:29:05 - (not logged in) (127.0.0.1)> Connected, sending welcome message...
(000025)10.06.2020 17:29:05 - (not logged in) (127.0.0.1)> 220-FileZilla Server version 0.9.41 beta
(000025)10.06.2020 17:29:05 - (not logged in) (127.0.0.1)> 220-written by Tim Kosse (Tim.Kosse@gmx.de)
(000025)10.06.2020 17:29:05 - (not logged in) (127.0.0.1)> 220 Please visit http://sourceforge.net/projects/filezilla/
(000025)10.06.2020 17:29:05 - (not logged in) (127.0.0.1)> USER root
(000025)10.06.2020 17:29:05 - (not logged in) (127.0.0.1)> 331 Password required for root
(000025)10.06.2020 17:29:05 - (not logged in) (127.0.0.1)> PASS ****
(000025)10.06.2020 17:29:05 - root (127.0.0.1)> 230 Logged on
(000025)10.06.2020 17:29:05 - root (127.0.0.1)> TYPE I
(000025)10.06.2020 17:29:05 - root (127.0.0.1)> 200 Type set to I
(000025)10.06.2020 17:29:05 - root (127.0.0.1)> PORT 127,0,0,1,222,74
(000025)10.06.2020 17:29:05 - root (127.0.0.1)> 200 Port command successful
(000025)10.06.2020 17:29:05 - root (127.0.0.1)> STOR C:/Users/B4UTR3N/Desktop/images/aboutUs.png
(000025)10.06.2020 17:29:05 - root (127.0.0.1)> 550 Filename invalid
(000025)10.06.2020 17:29:05 - root (127.0.0.1)> disconnected.

感谢您的帮助。

不会发送包含以C:/开头的路径的 FTP 命令。这些是硬盘驱动器的本地路径。网络服务中的路径是"虚拟的",并且是该服务和服务器的本地路径。

该路径来自 ftp_put(( 的第二个参数,其含义是:

远程文件路径。

但是,您用以下方法喂它:

public const TARGET_DIR = 'C:/Users/B4UTR3N/Desktop/images/';

如果不确定远程路径,只需安装 FileZilla 客户端并亲眼看看。

您必须使用在共享文件夹FileZilla 服务器设置的别名列中看到的虚拟路径。

它在您的屏幕截图中不可见,但会像这样:

public const TARGET_DIR = '/images/';

最新更新