Listing all files on a ftp server
Éric Chatonet
eric.chatonet at wanadoo.fr
Sat Feb 5 18:27:34 EST 2005
Hi,
I saw a few days ago questions and right answers about a script that
would look at 1 directory and provide a complete hierarchial list of
all files within all folders and subfolders.
Here is a complementary function for tracking all files within all
folders and subfolders on a FTP server.
I did not test it yet on windows nor Linux but it works fine with OS X.
So:
put word 1 to -1 of AllFilesOnServer("/www/") -- any folder on the
server finishing by a slash
-----
function AllFilesOnServer pStartDir
local tUserName,tPassword,tServer,tPort,tUrl,tDirectories,tDir,
tFoldersList, tFilesList, tOtherFilesList
-----
put fld "FTPUserName" into tUserName -- from user prefs
put fld "FTPPassword" into tPassword -- from user prefs
put fld "FTPServerAddress" into tServer -- from user prefs
put fld "FTPPort" into tPort -- from user prefs
if tPort = empty then put 21 into tPort
-----
replace numToChar(13) with empty in pStartDir -- important
put "ftp://" & tUserName & colon & tPassword & "@" & tServer & colon
& tPort & pStartDir into tUrl
if the platform = "MacOS" then put isotoMac(URL tUrl) into
tDirectories
else put URL tUrl into tDirectories
-----
if the result = empty then
sort tDirectories
replace numToChar(13) with empty in tDirectories
-----
repeat for each line tDir in tDirectories
set cursor to busy
if "." is not in tDir then put pStartDir & FormatAsFolder(tDir) &
cr after tFoldersList -- Æ
else put pStartDir & tDir & cr after tFilesList
-- assuming that all files have an extension (.php, .gif, etc.)
-- if not sure, use a try structure instead
end repeat
-----
if tFoldersList <> empty then
delete last char of tFoldersList
repeat for each line tFolder in tFoldersList
put AllFilesOnServer(tFolder) into tList -- recursion
if tList <> empty then put tList after tOtherFilesList
end repeat
end if
return tFilesList & tOtherFilesList
else return the result -- error
end AllFilesOnServer
--------------------------------------------
function FormatAsFolder pPath
if last char of pPath <> slash then return pPath & slash
return pPath
end FormatAsFolder
Amicalement,
Eric Chatonet.
----------------------------------------------------------------
So Smart Software
For institutions, companies and associations
Built-to-order applications: management, multimedia, internet, etc.
Windows, Mac OS and Linux... With the French touch
----------------------------------------------------------------
Web site http://www.sosmartsoftware.com/
Email eric.chatonet at sosmartsoftware.com/
Phone 33 (0)1 43 31 77 62
Mobile 33 (0)6 20 74 50 86
----------------------------------------------------------------
More information about the use-livecode
mailing list