您发布的代码是错误的。它打开一个 FTP 流 ( ftp_connect
),然后将文件写入本地文件系统 ( fopen
)。您的 ftp 流不允许您对其进行写入fwrite
- 您需要使用命令来传输整个文件。
fopen
如果你使用一个ftp://
方案,你可以做你想做的事。
例如:
$fp = fopen("ftp://user:password@example.com/file.txt","w");
fwrite($fp, '1');
fwrite($fp, '23');
fclose($fp);
Alternativley,您可以将文件写入本地文件系统并使用 ftp 流传输它:
$file = 'somefile.txt';
// create your file in the local file system here.
$remote_file = 'readme.txt';
// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
echo "successfully uploaded $file\n";
} else {
echo "There was a problem while uploading $file\n";
}
// close the connection
ftp_close($conn_id);
和往常一样,清楚你想做什么。
PHP FTP 参考在这里
PHP 方案和包装器参考(用于fopen
)在这里