2012-06-29 73 views
1

我導出一些數據,使文件和數據寫入文件寫入文件...使用PHP FTP

我的文件出現在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 :)

+3

擺脫'@'初學者*看錯誤* ...? – deceze

+1

爲什麼你要先用ftp協議啓動一個文件的連接,以後再用fopen連接到這個文件?要麼堅持FTP或FOPEN? – Luceos

回答

1

擺脫@,看是否出現

任何錯誤,也是你們的道路

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

似乎有點偏離

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

+0

是的,這是它!擺脫了@ - 沒有錯誤,嘗試了var前面的/嘿presto! ni天鵝@Gabriel Baker – Rich

+1

@很好,如果這個答案解決了你的問題,請將它標記爲「已接受」的答案。您可以在此帖子的左上角執行此操作。 :-) – Malax

0

我不知道你正在使用的庫。但是代碼似乎在上傳之前上傳了剛創建的tmpfile()。這是爲什麼它是空的。

看來你寫了你想推送到FTP服務器本地的數據。 var/www/vhosts/cruiseandmaritime.com/httpdocs/itineraryschedule.txt就在您的機器上。嘗試上傳ftp_fput - 這應該可以做到。