1

私はこのコードを持っています:

<?php

$host = "ftp.myserver.com";
$port = 21;
$username = "my_username";
$password = "my_password";
$destination = "/folder/folder2/test.txt";
$file = __DIR__."/folder/folder2/test.txt";

$connection = ftp_connect($host, $port);
if (!$connection) 
    throw new Exception("Cannot found host");

$login = ftp_login($connection, $username, $password);
if (!$login)
    throw new Exception("Cannot login with provided credentials");

// return mime type ala mimetype extension
$finfo = finfo_open(FILEINFO_MIME);

//check to see if the mime-type starts with 'text'
$isText = substr(finfo_file($finfo, $file), 0, 4) == 'text';
$mode = $isText == true ? FTP_ASCII : FTP_BINARY;

ftp_pasv($connection, true);

$upload = ftp_put($connection, $destination, $file, $mode);
if (!$upload) {
    echo error_get_last();
}

ftp_close($connection);

CMD 経由で実行すると、結果は次のようになります。

C:\xampp\htdocs\ftptest>php test.php

Warning: ftp_put(): Can't open that file: No such file or directory in C:\xampp\
htdocs\ftptest\test.php on line 27
Array

27行目はftp_putコマンドです。フォルダーがfolderありfolder2、ftp サーバー上に存在しません。によって作成されたとftp_put思います(または、手動で確認して作成する必要がありますか?)

4

0 に答える 0