differenze di dimensioni del file dopo la copia di un file su un server FTP vía

voti
35

Ho creato uno script PHP per aggiornare un server web che è in diretta all'interno di una directory locale. Sto migrando lo script in Python. Funziona bene per la maggior parte, ma dopo un PUT comando la dimensione del file sembra cambiare. Così, la dimensione del file è diverso da quello del file sul server.

Una volta ho scaricare nuovamente il file dal server FTP, l'unica differenza è il segno di CR / LF. Questo mi infastidisce perché lo stesso script è confrontare la dimensione dei file da aggiornare. Inoltre, nel caso in cui significa qualcosa, lo script funziona perfettamente in 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()

Eventuali suggerimenti?

È pubblicato 05/08/2008 alle 12:40
fonte dall'utente
In altre lingue...                            


3 risposte

voti
15

Avete bisogno di aprire il LOCFILE in binario usando rb?

f = open (locfile, "rb")
Risposto il 05/08/2008 a 12:45
fonte dall'utente

voti
3

Beh, se si va sotto le proprietà del file in Windows o in un ambiente * nix, noterete due dimensioni. Uno è la dimensione del settore, e uno è la dimensione effettiva. La dimensione del settore è il numero di settori in byte che vengono utilizzati sul vostro disco rigido. Questo perché due file non possono essere nello stesso settore con la maggior parte dei file system moderni, quindi, se il file si riempie la metà del settore intero settore è contrassegnato come pieno.

Così si potrebbe confrontando la dimensione del file settore alla dimensione effettiva del file sul server FTP o viceversa.

Risposto il 05/08/2008 a 12:45
fonte dall'utente

voti
0

I piccoli file occupano un intero nodo sul filesystem qualunque dimensione che è.

Il mio ospite tende a segnalare tutti i file di piccole dimensioni come 4KB in ftp, ma in un guscio dà una dimensione precisa quindi potrebbe essere una 'possibilità' comune a ftp client.

Risposto il 05/08/2008 a 14:59
fonte dall'utente

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