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