1
전송할 파일이없는 서버에서 PHP 스크립트를 실행하고 싶습니다. 이 스크립트는 한 ftp (암호 포함)에서 다른 ftp (암호 포함)로 파일을 전송해야합니다. PHP에서 가능합니까? ftp_fput은 로컬 파일을 ftp-server로 전송 만 허용합니까? 맞아?하나의 ftp에서 다른 ftp로 파일을 전송하는 PHP 스크립트
전송할 파일이없는 서버에서 PHP 스크립트를 실행하고 싶습니다. 이 스크립트는 한 ftp (암호 포함)에서 다른 ftp (암호 포함)로 파일을 전송해야합니다. PHP에서 가능합니까? ftp_fput은 로컬 파일을 ftp-server로 전송 만 허용합니까? 맞아?하나의 ftp에서 다른 ftp로 파일을 전송하는 PHP 스크립트
thephpleague의 FlysystemFTP adapter을 사용하시는 것이 좋습니다. 이 패키지를 기반으로하는 스크립트를 생성하고이 의 ftp 서버 A FTP 에 서버 B에서 파일을 전송하기 위해 귀하의 제어 서버에 사용할 수 있습니다. 여기
은 SFTP를 사용 서버 A에 서버 B에서 데이터를 전송하는 예 스크립트이다. 참고 : 다음 스크립트는 flysystem 패키지 (예 :composer require league/flysystem
)를 설치했다고 가정합니다.
<?php
require_once __DIR__ . '/vendor/autoload.php';
use League\Flysystem\Filesystem;
use League\Flysystem\Sftp\SftpAdapter;
$source = new Filesystem(new SftpAdapter([
'host' => 'server A',
'port' => 'server A port',
'username' => 'server A sftp user',
'password' => 'server A sftp pwd',
'root' => 'source folder on server A',
'timeout' => 10,
]));
$destination = new Filesystem(new SftpAdapter([
'host' => 'server B',
'port' => 'server B port',
'username' => 'server B sftp user',
'password' => 'server B sftp pwd',
'root' => 'destination folder on server B',
'timeout' => 10,
]));
$files = $source->listContents();
foreach ($files as $file) {
$data = $source->read($file['path']);
$destination->put($file['path'], $data);
}
그것은 소스 ($source
)와 대상 ($destination
) 서버에 연결을 설정합니다. 소스 (listContents()
방법)의 내용을 나열하고 foreach
루프에서 파일 (read()
)을 읽고 내용 (put()
)을 하나씩 원하는 위치에 놓습니다.
[PHP의 두 원격 FTP 서버간에 파일 전송] 가능한 복제본 (https://stackoverflow.com/questions/47797962/transfer-files-between-two-remote-ftp-servers-in-php) –