  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		小柯
 
 
  註冊時間: 2003-11-27 文章: 78
 
  第 1 樓
  | 
		
			
				 發表於: 星期六 七月 23, 2022 4:30 pm    文章主題: 請問,如何FTP搜尋檔案? | 
				     | 
			 
			
				
  | 
			 
			
				請教先進,如何在FTP Server搜尋某檔案是否存在?
 
我想做到的功能,就像VFP的函數file()可用來判斷,特定檔案是否存在於FTP Server上,請賜教,謝謝。 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 2 樓
  | 
		
			
				 發表於: 星期六 七月 23, 2022 9:26 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				去找 FOXPRO 可以用的 FTP 物件,
 
通常那個物件會有下載某一目錄檔案列表的功能,
 
然後整理那個檔案列表變成 ARRAY 或是 TABLE
 
 
如果只是想直接判斷某一檔案在不在,
 
應該FTP物件也有專用功能
 
 
不想用FTP物件也可以,
 
只是相對會麻煩很多 _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		小柯
 
 
  註冊時間: 2003-11-27 文章: 78
 
  第 3 樓
  | 
		
			
				 發表於: 星期六 七月 23, 2022 11:22 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				找到了下面的方法來解決,與大家分享:
 
Set Library To myfll
 
FtpSetPasv(.T.)
 
hFtp=FtpConnect("domain.com","username","password",21)
 
If hFtp==""
 
    MessageBox("無法連接ftp服務器")
 
    Return 
 
EndIf 
 
?"讀取:",FtpAFile(hFtp,"aFtpFiles")
 
Display Memory like aFtpFiles
 
FtpDisconnect(hFtp)
 
? "FTP Server上的檔案數:",ALEN(aFtpFiles,1)
 
FOR i=1 TO ALEN(aFtpFiles,1)
 
	? aFtpFiles(i,1)
 
ENDFOR | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 4 樓
  | 
		
			
				 發表於: 星期一 七月 25, 2022 9:46 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				"myfll"  這就是 大補包 呀 _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		foxy
 
  
  註冊時間: 2007-08-16 文章: 265 來自: 泰國
  第 5 樓
  | 
		
			
				 發表於: 星期一 七月 25, 2022 1:47 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | 小柯 寫到: | 	 		  找到了下面的方法來解決,與大家分享:
 
Set Library To myfll
 
FtpSetPasv(.T.)
 
hFtp=FtpConnect("domain.com","username","password",21)
 
If hFtp==""
 
    MessageBox("無法連接ftp服務器")
 
    Return 
 
EndIf 
 
?"讀取:",FtpAFile(hFtp,"aFtpFiles")
 
Display Memory like aFtpFiles
 
FtpDisconnect(hFtp)
 
? "FTP Server上的檔案數:",ALEN(aFtpFiles,1)
 
FOR i=1 TO ALEN(aFtpFiles,1)
 
	? aFtpFiles(i,1)
 
ENDFOR | 	  
 
 
謝謝妳的分享. 小弟複製這些命令執行, 但是 hFtp 一直是空的, 也就是不能連結. 但是使用 FILEZILLA 的介面卻可以連結到網站. 小弟也把 exe 文檔設定通過電腦防火牆, 但是卻不能連結. 會有甚麼問題呢?
 
謝謝您 _________________ 進銷存+生產製造+會計+員工薪資+CRM+POS零售+餐廳手機app+電商手機app+電商網站,物流系統. 正/簡體中文,英,日,泰,緬甸文. MS SQL Server + 前台 VFP + PHP 網站 + Flutter 手機 App, 都共享 MS SQL Server的資料.  www.foxacc.com  LINE: mike-lm | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		CPS0204
 
 
  註冊時間: 2014-08-24 文章: 482
 
  第 6 樓
  | 
		
			
				 發表於: 星期一 七月 25, 2022 2:11 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				myfll 不好用,原因在,他很多時候無法穿透防火牆
 
 
後來改用vfpconnection.fll都沒有問題了,記得:需搭配vfox9!  vfox6不行 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		小柯
 
 
  註冊時間: 2003-11-27 文章: 78
 
  第 7 樓
  | 
		
			
				 發表於: 星期一 七月 25, 2022 6:24 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				FtpSetPasv(.T.)   &&加這函數,設置FTP組函數允許為PASV被动模式(.T.)就可以連結了
 
vfpconnection.fll並沒有提供在FTP上讀取目錄的函數,故搭配myfll.fll就可以做到檔案搜尋的功能,提供各位參考。 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		foxy
 
  
  註冊時間: 2007-08-16 文章: 265 來自: 泰國
  第 8 樓
  | 
		
			
				 發表於: 星期一 七月 25, 2022 6:29 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | CPS0204 寫到: | 	 		  myfll 不好用,原因在,他很多時候無法穿透防火牆
 
 
後來改用vfpconnection.fll都沒有問題了,記得:需搭配vfox9!  vfox6不行 | 	  
 
vfpconnection.fll 小弟現在可以用了, 受教,多謝 _________________ 進銷存+生產製造+會計+員工薪資+CRM+POS零售+餐廳手機app+電商手機app+電商網站,物流系統. 正/簡體中文,英,日,泰,緬甸文. MS SQL Server + 前台 VFP + PHP 網站 + Flutter 手機 App, 都共享 MS SQL Server的資料.  www.foxacc.com  LINE: mike-lm | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		foxy
 
  
  註冊時間: 2007-08-16 文章: 265 來自: 泰國
  第 9 樓
  | 
		
			
				 發表於: 星期一 七月 25, 2022 6:34 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | 小柯 寫到: | 	 		  FtpSetPasv(.T.)   &&加這函數,設置FTP組函數允許為PASV被动模式(.T.)就可以連結了
 
vfpconnection.fll並沒有提供在FTP上讀取目錄的函數,故搭配myfll.fll就可以做到檔案搜尋的功能,提供各位參考。 | 	  
 
試過了,還是不能連結, 可能跟我的電腦有關係.
 
下列命令可以從 vfpconnection.fll 讀取目錄
 
 
m.lcString1 = FTPToStr("FTP://user:pass@ftp.domain.com:21/folder/")
 
m.nLineas = Alines(aLineas,m.lcString1)
 
For m.nX=1 To m.nLineas
 
	If Left(aLineas(m.nX),1)="-"
 
		m.lcimage=Substr(aLineas(m.nX),56)
 
		? m.lcimage
 
	Endif
 
endfor _________________ 進銷存+生產製造+會計+員工薪資+CRM+POS零售+餐廳手機app+電商手機app+電商網站,物流系統. 正/簡體中文,英,日,泰,緬甸文. MS SQL Server + 前台 VFP + PHP 網站 + Flutter 手機 App, 都共享 MS SQL Server的資料.  www.foxacc.com  LINE: mike-lm | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		CPS0204
 
 
  註冊時間: 2014-08-24 文章: 482
 
  第 10 樓
  | 
		
			
				 發表於: 星期一 七月 25, 2022 6:45 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | foxy 寫到: | 	 		   	  | CPS0204 寫到: | 	 		  myfll 不好用,原因在,他很多時候無法穿透防火牆
 
 
後來改用vfpconnection.fll都沒有問題了,記得:需搭配vfox9!  vfox6不行 | 	  
 
vfpconnection.fll 小弟現在可以用了, 受教,多謝 | 	  
 
 
記得在vfox9 呼叫ftp之前,須設定timeout 多一點秒數,不然檔案大一點,會被切斷
 
請查:
 
 
SET LIBRARY TO (LOCFILE("vfpconnection.fll","FLL"))
 
=SetResponseTimeout(60000)  && 60000秒
 
	=SetConnectTimeout (30000) && Default is 10 seconds
 
 	
 
 
如果沒有設定上述60000秒,預設值好像是15秒
 
 
個人都是搭配 filezilla ftp server 免費版,然後開通防火牆...... 來作為exe 升級的下載區 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |