File yang sama, ukuran file yang berbeda

12

Saya membuat cadangan dari server FTP saya, dengan lftp dan Transmit (aplikasi Mac). Semuanya baik-baik saja, tetapi ada ukuran file yang berbeda untuk 1-2 file, tetapi mereka identik.

File pertama:

http://dl.dropbox.com/u/229956/deadcow_seo.php

File kedua:

http://dl.dropbox.com/u/229956/deadcow_seo.php_2.php

Apa perbedaan antara kedua file ini?

pengguna66638
sumber
Apakah Anda yakin masalahnya bukan hanya ukuran yang dilaporkan ? Apple mengganti cara Mac OS X melaporkan ruang penyimpanan beberapa tahun yang lalu untuk mencocokkan metode yang digunakan oleh hard drive. Alih-alih 1MB = 1024KB, mereka menggunakan 1MB = 1000KB. Ukuran lain dapat dilaporkan oleh host Linux Anda menggunakan metodologi lain sehingga file tampak berukuran berbeda. Tidak yakin apakah ini berlaku dalam kasus Anda, tetapi menarik.
WebDevKev
Bukan itu. Lihat saja file yang diberikannya sebagai bagian dari pertanyaan, atau tangkapan layar yang berbeda dalam jawaban saya. File-file tidak cukup besar untuk membuat perbedaan, masing-masing, pada 1800-1900 byte.
Daniel Beck

Jawaban:

25

deadcow_seo.phpmenggunakan ujung garis Unix ( LF), sementara deadcow_seo.php_2.phpmenggunakan ujung garis DOS / Windows (CR LF ).

FTP memiliki beberapa "mode transfer", di mana dua di antaranya umum digunakan 1 - biner (juga disebut "gambar") dan teks (atau "ASCII"). Dalam mode "biner" file ditransfer persis seperti itu, byte-by-byte, sementara "ASCII" menyebabkan file ditafsirkan sebagai terdiri dari baris teks - ujung baris dikonversi ke standar jaringanCR LF saat mengirim, dan dikonversi ke ujung garis asli mesin saat menerima.

Mentransfer file sebagai teks mungkin masuk akal pada awalnya, tetapi hanya menyebabkan masalah kemudian - pada kenyataannya, beberapa server FTP telah menghapusnya sepenuhnya atau membuatnya setara dengan biner di sisi server. Selain itu, sebagian besar editor teks (tidak termasuk Notepad) dapat membaca dan menyimpan file dalam format Windows dan Unix.

Cukup konfigurasikan klien FTP Anda untuk selalu menggunakan mode biner - perintahnya biasanya binatau mode i, sementara klien grafis mungkin memiliki kotak centang atau daftar jenis file dalam pengaturannya.


1 Beberapa mode lama adalah "tenex" ( lama usang, untuk file berbasis halaman TENEX) dan "dikompresi" (yang tampaknya didefinisikan sebagai algoritma RLE sederhana). Server FTP terbaru mendukung "mode z" untuk kompresi zlib.

pengguna1686
sumber
12

Anda menggunakan teks mode transfer (atau ASCII), yang menggantikan jeda baris selama transfer. Ini sering berguna ketika Anda mengembangkan skrip dan program di Windows dan mentransfer file ke Linux atau Mac OS X. Mereka tidak akan berfungsi sebaliknya, karena sistem melihat data sampah di akhir setiap baris.

Jika file memiliki satu baris Windows break, \r\n(atau CRLF), dan Anda mengunduh ke Linux atau Mac OS X, itu diganti oleh \n(atau LF), yang kurang dari 1 byte. Menggunakan FileMerge untuk membandingkan file mengkonfirmasi ini di bilah status:

masukkan deskripsi gambar di sini

Lihat juga jawaban ini pada interpretasi data .


Anda dapat mengonfigurasi jenis file mana yang ditafsirkan sebagai teks dalam preferensi Transmit:

masukkan deskripsi gambar di sini

Anda dapat menghapus semua ekstensi file dari daftar ini, dan hanya membakukan pada Linux / Mac OS X jeda baris, yaitu \n, bahkan ketika menggunakan Windows. Sebagian besar editor mampu mengubah mode akhir baris.

Daniel Beck
sumber