使用php ftp写入文件

时间:2012-06-29 09:52:52

标签: php

我正在导出一些数据,制作文件并将数据写入文件......

我的文件出现在ftp服务器上,但它是空的......

这是代码。

//Connect to the FTP server
$ftpstream = @ftp_connect('localhost');

//Login to the FTP server
$login = @ftp_login($ftpstream, 'some_login', 'some_password');
if($login) {
//We are now connected to FTP server.
//Create a temporary file
$temp = tmpfile();

//Upload the temporary file to server
@ftp_fput($ftpstream, '/httpdocs/itineraryschedule.txt', $temp, FTP_ASCII);

//Make the file writable by all
ftp_site($ftpstream,"CHMOD 0777 /httpdocs/itineraryschedule.txt");

//Write to file
$fp = fopen('var/www/vhosts/cruiseandmaritime.com/httpdocs/itineraryschedule.txt', 'w');
fputs($fp, 'some data');
fclose($fp);

//Make the file writable only to owner
ftp_site($ftpstream,"CHMOD 0644 /httpdocs/itineraryschedule.txt");
}

我很困惑!

Rich:)

2 个答案:

答案 0 :(得分:1)

摆脱@以查看是否发生任何错误

也是你的路径

$fp = fopen('var/www/vhosts/cruiseandmaritime.com/httpdocs/itineraryschedule.txt', 'w');

似乎有点偏离

$fp = fopen('/var/www/vhosts/cruiseandmaritime.com/httpdocs/itineraryschedule.txt', 'w'); 可能?

答案 1 :(得分:0)

我不知道您正在使用的库。但是代码似乎在上传之前上传了刚刚创建的tmpfile()。这就是为什么它是空的。

您似乎在本地编写要推送到FTP服务器的数据。 var/www/vhosts/cruiseandmaritime.com/httpdocs/itineraryschedule.txt就在您的计算机上。尝试使用ftp_fput上传它 - 这应该可以解决问题。