Filstørrelse forskjeller etter å kopiere en fil til en server via FTP

stemmer
36

Jeg har laget et PHP-skript for å oppdatere en webserver som er levende inne i en lokal katalog. Jeg migrerer skriptet inn Python. Det fungerer fint for det meste, men etter en PUT kommandoen størrelsen på filen ser ut til å endre seg. Dermed blir størrelsen på filen er forskjellig fra filen på tjeneren.

Når jeg laste ned igjen filen fra FTP-serveren, er den eneste forskjellen CR / LF mark. Dette irriterer meg fordi det samme skriptet er å sammenligne størrelsen på filene for å oppdatere. Også i tilfellet betyr det noe, skriptet fungerer perfekt i PHP vía ftp_put.

from ftplib import FTP

ftpserver = myserver
ftpuser = myuser
ftppass = mypwd

locfile =  g:/test/style.css
ftpfile =  /temp/style.css

try:
    ftp = FTP(ftpserver, ftpuser, ftppass)
except:
    exit (Cannot connect)

f = open (locfile, r)
try:
    ftp.delete (ftpfile)
except:
    pass

# ftp.sendcmd (TYPE I)
# ftp.storlines(STOR %s % ftpfile, f)
ftp.storbinary(STOR %s % ftpfile, f)
f.close()

ftp.dir (ftpfile)
ftp.quit()

Noen forslag?

Publisert på 05/08/2008 klokken 13:40
kilden bruker
På andre språk...                            


3 svar

stemmer
15

Trenger du å åpne locfile i binær hjelp rb?

f = open (locfile, "rb")
Svarte 05/08/2008 kl. 13:45
kilden bruker

stemmer
3

Vel, hvis du går under egenskapene for filen i Windows eller en * nix miljø, vil du legge merke til to størrelser. Den ene er sektorstørrelsen, og en er den faktiske størrelse. sektorstørrelsen er antall sektorer i byte som brukes opp på harddisken. Det er fordi to filer ikke kan være i samme sektor med de fleste moderne filsystemer, så hvis filen fyller opp halvparten av sektoren hele sektoren er merket som fylles.

Så du kan sammenligne størrelsen sektoren filen til faktiske filstørrelsen på FTP-serveren eller vice versa.

Svarte 05/08/2008 kl. 13:45
kilden bruker

stemmer
0

Små filer tar opp en hel node på filsystemet uansett størrelse som er.

Min vert en tendens til å rapportere alle små filer som 4KB i ftp, men i et skall gir en nøyaktig størrelse slik at det kan være en 'funksjon' felles til ftp klienter.

Svarte 05/08/2008 kl. 15:59
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more