如何从另一个ftp打开文件并写入?

时间:2013-07-10 22:27:52

标签: php ftp connection

我试图在另一个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);
}

1 个答案:

答案 0 :(得分: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引用是here

PHP方案&包装器引用(与fopen一起使用)是here