-1

我试图在另一个 ftp 中打开一个文件并写入,但我该怎么做?

 $ftpstream = @ftp_connect('****');

 //Login to the FTP server
 $login = @ftp_login($ftpstream, '****', '***');
 if($login) {
 echo "Conectado";
 $fp = fopen('file.txt', 'w');
 fwrite($fp, '1');
 fwrite($fp, '23');
  fclose($fp);
}

4

1 回答 1

1

您发布的代码是错误的。它打开一个 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)在这里

于 2013-07-10T22:56:46.657 回答