Mjerne jedinice za količinu informacija. Optimalna veličina Windows stranične datoteke Veličine datoteke rastuće

Svaka datoteka i svaka mapa s datotekama zauzima određeno mjesto na računalu. To jest, sve datoteke i mape imaju volumen, drugim riječima, težinu ili veličinu.

Navikli smo na koncepte kao što su grami i kilogrami, metri i kilometri. Računalo također ima svoje mjerne jedinice. U njima ćemo mjeriti datoteke i mape. Drugim riječima, odredit ćemo koliko "teži" ova ili ona datoteka ili mapa. Ta se "težina" računa u bajtovima, kilobajtima, megabajtima i gigabajtima.

Sada krenimo na vježbu. Pogledajte ovu tablicu veličina:

Ovo je vrlo jednostavan sklop. Dekodira se ovako:

1 KB = 1024 bajta; 1 Mb = 1024 Kb; 1 GB = 1024 MB

A sada detaljnije:

  • Jedan KB (kilobajt) sadrži 1024 bajta
  • Jedan MB (megabajt) sadrži 1024 KB (kilobajta)
  • Jedan GB (gigabajt) sadrži 1024 MB (megabajta)

Zašto su nam potrebne dimenzije? Na primjer, kako bismo utvrdili možemo li zapisati datoteku / mapu na disk ili flash pogon.

Da bismo to mogli utvrditi, moramo znati koliko informacija stane na disk ili flash disk. Iskoristimo shemu:

Flash disk - od 1 GB

CD disk - 700 MB

DVD disk - od 4 GB

Standardna veličina DVD diska je 4,7 GB. Postoje i dvostrani DVD-ovi. To znači da zapis može biti na dvije strane - i na jednoj i na drugoj. Ovi diskovi imaju kapacitet od 9,4 GB. Postoje i dvoslojni diskovi, ali su rjeđi. Takvi diskovi imaju sljedeće količine: 1-strani 2-slojni - 8,5 GB; 2-strani 2-slojni - 17,1 GB.

Kako saznati veličinu datoteke ili mape

Da biste saznali veličinu datoteke ili mape s datotekama, pomaknite kursor (strelicu) preko nje i držite nekoliko sekundi. Pojavit će se mali prozor s karakteristikama datoteke ili mape. Kao što vidite na slici, ova karakteristika označava veličinu:

Ako se ništa ne pojavi dok lebdite iznad datoteke ili mape, desnom tipkom miša kliknite tu datoteku ili mapu. Na popisu koji se otvori odaberite "Svojstva". Otvorit će se prozor koji prikazuje veličinu ove datoteke ili mape.

Sada vježbajmo određivanje veličine:

Zadatak:

Imamo datoteku od 30 MB. Možemo li to snimiti na disk? 1 GB flash disk?

Riješenje:

Na CD može stati 700 MB. Naša datoteka je velika 30 MB. 700 MB je više od 30 MB. Zaključak: datoteka će stati na CD.

DVD disk ima 4,7 GB. Jedan gigabajt jednak je 1024 megabajta. Odnosno, na jedan DVD disk stane oko 5000 MB. A 5000 MB je puno više od 30 MB. Zaključak: naša će datoteka stati na DVD.

Dobili smo flash disk od 1 GB. Jedan GB sadrži 1024 MB. 1024 je više od 30. Zaključak: datoteka će stati na flash pogon od 1 GB.

Na sustavima Windows 7, 8, XP i 10 postoji sistemska, skrivena datoteka pagefile.sys koja se naziva datoteka stranice. Koristi se kao virtualni RAM ( radna memorija) nadopunjavanje tjelesnog kada to nije dovoljno. Korisnici se pitaju kako ga pravilno postaviti i koja je njegova optimalna veličina? O tome će biti riječi u ovom članku.

Također pohranjuje neiskorištene podatke programa i aplikacija ( na primjer, kada su presavijeni i neiskorišteni). Budući da se datoteka nalazi na tvrdom disku, tada su svi pristupi njoj izravno povezani s diskom, što je puno sporije. RAM memorija. Stoga ga sustav koristi samo u ekstremnim slučajevima ( odnosno kada nema dovoljno fizičkog RAM-a).

Ne postoji univerzalna uputa za ispravno postavljanje veličine ove datoteke, budući da se svačiji računalni resursi troše drugačije, a karakteristike računala su također različite. Stoga se trebate usredotočiti na svoje potrebe.

Ako onemogućite straničnu datoteku, tada ako nema dovoljno RAM-a, pojavit će se odgovarajuća pogreška i korištene aplikacije će neočekivano prekinuti svoj rad. Da biste to izbjegli, trebate postaviti optimalnu veličinu stranične datoteke. Pokazat ću vam kako to učiniti na primjeru sustava Windows 7. Ove će upute biti relevantne za druge verzije i bitne dubine ( x32 i x64).

Kriteriji za optimalnu veličinu stranične datoteke

Prema zadanim postavkama, Windows automatski određuje njegovu veličinu pomoću vlastite formule. Ovo nije uvijek učinkovito. U nekim slučajevima, promjena swap datoteke može uvelike poboljšati performanse.

Morate odrediti koliko RAM-a trošite kada radite na računalu. Zatim te podatke trebate usporediti s fizičkom količinom RAM-a i, ako nedostaje, nadopuniti ga veličinom swap datoteke. Pokazat ću vam na primjeru kako se to može učiniti.

Pokrenite sve moguće programe, aplikacije, igre i sve što biste teoretski koristili u isto vrijeme. Zatim pokrenite upravitelj zadataka ( ctrl+alt+delete), i pogledajte količinu iskorištene memorije. Ovo je količina RAM-a koju treba dati računalu.

Na temelju tih podataka možete postaviti optimalnu veličinu. Na gornjoj slici potrošnja memorije je 1,60 gigabajta. Najviše 2. To znači da se stranična datoteka u ovom slučaju ne koristi i može se onemogućiti. Ali ovo je samo primjer!

Općenito se ne preporučuje onemogućavanje swap datoteke, ali to biste trebali učiniti samo ako ste sigurni da nećete moći koristiti više memorije od količine fizičke memorije i ako su memorijski dumpovi nepotrebni. Također treba imati na umu da neke aplikacije zahtijevaju obveznu prisutnost ove datoteke i neće raditi bez nje.

Ako je vrijednost veća od maksimalne ( tj više od 2), tada bi bilo potrebno postaviti veličinu koja je jednaka količini potrošene memorije + headroom ( 50% ). Otprilike takvi brojevi bit će sigurni. U većini slučajeva nije moguće točno znati taj maksimum, pa se koriste približna pravila koja osiguravaju od pogrešaka nedostatka RAM-a.

Što manje fizičkog, RAM-a, to više virtualnog. Ispod je tablica koja prikazuje vrijednosti​​ako računalo nije koristilo više od 4 gigabajta RAM-a.

Sve ovisi o potrebama korisnika. Nekome možda nije dovoljno 16 gigabajta, ali nekome će biti dovoljan i 1 gigabajt i neće se pojaviti greške.

Imajte na umu da su maksimalna i minimalna veličina postavljene na iste. To se radi kako bi se riješili fragmentacije. Relevantno samo ako imate HDD.

Također možete provesti eksperiment "nasumce". Smanjujte veličinu stranične datoteke sve dok se ne pojavi pogreška nedostatka memorije i zaustavi na veličini kada je nije bilo.

Čitajući razne forume, došao sam do zaključka da s 8 gigabajta RAM-a većina korisnika nikada nije imala problema sa swap datotekom, a ako je i imala, jednostavno su je uključili na minimalnu veličinu. U drugim slučajevima ( kad ima manje memorije) bile su uobičajene pogreške. Zaključite sami.

Povećanje i onemogućavanje stranične datoteke Windows 7

Za korisnike početnike, pokazat ću vam kako to promijeniti. Morate ponovno pokrenuti računalo kako bi promjene stupile na snagu.

Idite na izbornik Start >> Upravljačka ploča ( velike ikone) >> Brojači i alati za izvedbu.

Idite na postavke vizualnih efekata.

Na kartici "Napredno" možete ići na prozor postavki stranične datoteke. To označava njegovu veličinu ili potpuno gašenje.

Spremni odgovoriti na pitanja u komentarima.

Kako ste se odlučili koristiti swap datoteku?

NMD pruža sličnu NML mogućnost sekvencijalnog pristupa informacijama. Magnetski disk objedinjuje nekoliko uređaja sekvencijalnog pristupa, a smanjenje vremena pretraživanja podataka osigurano je zbog neovisnosti pristupa zapisu o njegovoj lokaciji u odnosu na druge zapise.

Dizajn NMD-a je kompliciraniji od dizajna NML-a, a samim time i njihova je cijena veća. U NMD-u se kao nositelji podataka koristi paket magnetskih diskova (ili crtača), pričvršćenih na jednu šipku oko koje se vrte konstantnom brzinom. Površina magnetskog diska prekrivena feromagnetskim slojem naziva se radna površina.

Prvi takvi uređaji bili su opremljeni izmjenjivim MD paketima. Umetnute u kućište s hermetički zatvorenom ladicom, formirale su kompaktne skladišne ​​jedinice koje se zovu volumeni. Najčešći kapaciteti volumena bili su 7,25, 29,100 MB. Operater je stavio paket na vreteno uređaja, skinuo kućište (istodobno se paket automatski učvrstio na vretenu) i uključio motore za odmatanje paketa. Nakon postizanja određene brzine vrtnje paket bloka magnetskih glava ("češalj") uvodi se u prostor između diskova.

Princip postavljanja glava je lebdeći, budući da se one drže na potrebnoj udaljenosti od površine diska divergentnim strujanjem zraka koje nastaje pri rotaciji paketa. U budućnosti su se uglavnom koristile ili glave s punim kontaktom (savitljivi diskovi) ili mehanički fiksirane u vakuumu na određenoj udaljenosti od površine („tvrdi disk”). Pokušaji da se koriste tekući mediji (razna ulja) kako bi se osiguralo potrebno postavljanje glava nisu bili uspješni.

Broj magnetskih glava jednak je broju radnih površina na jednom paketu diskova. Ako se paket sastoji od 11 diskova, tada se pristupni mehanizam sastoji od 10 držača s po dvije magnetske glave na svakom od njih. Skup staza kojima se može pristupiti kada je blok u fiksnom položaju naziva se cilindar. Držači magnetskih glava kombinirani su u jedan blok na takav način da osiguravaju njihovo sinkrono kretanje duž svih cilindara. Učvršćivanjem bloka pristupnog mehanizma na bilo koji od cilindara, moguće je izvršiti prijelaz s jedne staze na drugu ovog cilindra elektroničkim prebacivanjem glava.

Svaka operacija čitanja (pisanja) informacija s (na) magnetski disk sastoji se od tri faze. U prvoj fazi, magnetska glava se mehanički dovodi do staze koja sadrži potrebne podatke. U drugoj fazi, čeka se trenutak dok se traženi zapis ne nalazi u području magnetske glave. U trećoj fazi provodi se stvarni proces razmjene informacija između računala i magnetskog diska. Dakle, ukupno vrijeme potrošeno na operaciju pisanja-čitanja sastoji se od zbroja vremena traženja odgovarajuće staze, čekanja na unos zapisa (tzv. vrijeme kašnjenja rotacije) i razmjene s računalom. Maksimalna vrijednost vremena kašnjenja rotacije jednaka je vremenu za koje se izvrši potpuna rotacija magnetskog diska.

Postoji nekoliko načina za fizičko pohranjivanje podataka na tvrdi disk. Konvencionalni tvrdi diskovi koriste "okomiti" zaslon. Podaci se prvo upisuju na jedan cilindar odozgo prema dolje, zatim se glave pomiču na drugi cilindar i tako dalje. S "horizontalnim" mapiranjem, podaci se prvo zapisuju redoslijedom od cilindra do cilindra na površini jednog diska, zatim također na površini sljedećeg crtača, itd. Ova metoda je prikladnija za snimanje kontinuiranih podataka velike brzine stream, kao što je snimanje "live" videa.

Mehanizam je hermetički zatvoren u kućištu s djelomičnim vakuumom iznutra. Ovaj dizajn se često naziva sklop glavnog diska (HDA). Okruženje unutar tvrdog diska mora se očistiti od prašine, za to zrak koji ulazi u HDA prolazi kroz posebne filtre. Motor, koji rotira disk konstantnom brzinom, mjerenom u okretajima u minuti (rpm), uključuje se kada se na disk priključi struja i ostaje uključen dok se struja ne prekine.

Postoji prostor između ploča za glavu za čitanje/pisanje postavljenu na kraju pokretne ruke. Glava je uklonjena s ploče za djelić milimetra. U prvim sustavima ta je udaljenost bila 0,2 milimetra, danas je smanjena na 0,07 milimetara. Stoga, najmanja kontaminacija može uništiti glavu, približavajući je disku, a također oštetiti magnetski premaz diska.

Glave su dimenzionirane tako da dodiruju disk samo nakon što se zaustavi, kada je napajanje isključeno. Sa smanjenjem brzine vrtnje, protok zraka slabi i, kada se potpuno zaustavi, glava lagano dodiruje površinu diska. Dodirna točka naziva se LZ zona slijetanja (zona kopna), koja je posebno dizajnirana za dodirivanje glave i ne sadrži podatke.

Kada je disk formatiran fizička razina, podijeljen je na sektore i staze. Fizički, staze se nalaze jedna iznad druge i tvore cilindre, koji se zatim dijele na sektore. Postoji 512 bajtova u jednom sektoru. Sektor je najmanja mjerna jedinica za veličinu diska. Svi tvrdi diskovi imaju rezervne sektore koje koristi njegova shema upravljanja ako se na disku pronađu loši sektori.

Teoretski, vanjski cilindri mogu sadržavati više podataka jer imaju veći opseg. Međutim, u pogonima koji ne koriste metodu zonskog snimanja, svi cilindri sadrže istu količinu podataka, unatoč činjenici da opseg vanjskih cilindara može biti dvostruko veći od unutarnjih. Kao rezultat toga, gubi se vanjski prostor na stazi, jer se koristi krajnje neučinkovito.

Proces kontrole gustoće zapisa naziva se pretkompenzacija. Kako bi se kompenzirale različite gustoće snimanja, koristi se metoda Zone Bit Recording, gdje je cijeli prostor na disku podijeljen u zone (osam ili više), od kojih svaka obično uključuje od 20 do 30 cilindara s istim brojem sektora.

U zoni koja se nalazi na vanjskom radijusu (juniorska zona), snima se više sektora po stazi (120-96). Prema središtu diska broj sektora se smanjuje i u najstarijoj zoni doseže 64-56. Kapacitet tvrdih diskova može se povećati za otprilike 30%.

S povećanjem gustoće snimanja na disku, nastaju poteškoće u otkrivanju vrhova analognih signala koji dolaze iz magnetskih glava. Nedavno se za otklanjanje ovog nedostatka koristi metoda PRLM (Partial Response Maximum Likelihood) koja koristi poseban algoritam digitalnog filtriranja ulaznog signala.

Standardna veličina DVD diska je 4,7 GB. Postoje i dvostrani DVD-ovi. To znači da zapis može biti na dvije strane - i na jednoj i na drugoj. Ovi diskovi imaju kapacitet od 9,4 GB. Postoje i dvoslojni diskovi, ali su rjeđi. Takvi diskovi imaju sljedeće količine: 1-strani 2-slojni - 8,5 GB; 2-strani 2-slojni - 17,1 GB.

Kako saznati veličinu datoteke ili mape

Da biste saznali veličinu datoteke ili mape s datotekama, pomaknite kursor (strelicu) preko nje i držite nekoliko sekundi. Pojavit će se mali prozor s karakteristikama datoteke ili mape. Kao što vidite na slici, ova karakteristika označava veličinu:

Ako se ništa ne pojavi dok lebdite iznad datoteke ili mape, desnom tipkom miša kliknite tu datoteku ili mapu. Na popisu koji se otvori odaberite "Svojstva". Otvorit će se prozor koji prikazuje veličinu ove datoteke ili mape.

Sada vježbajmo određivanje veličine:

Zadatak:

Imamo datoteku od 30 MB. Možemo li to snimiti na disk? 1 GB flash disk?

Riješenje:

Na CD može stati 700 MB. Naša datoteka je velika 30 MB. 700 MB je više od 30 MB. Zaključak: datoteka će stati na CD.

DVD disk ima 4,7 GB. Jedan gigabajt jednak je 1024 megabajta. Odnosno, na jedan DVD disk stane oko 5000 MB. A 5000 MB je puno više od 30 MB. Zaključak: naša će datoteka stati na DVD.

Dobili smo flash disk od 1 GB. Jedan GB sadrži 1024 MB. 1024 je više od 30. Zaključak: datoteka će stati na flash pogon od 1 GB.

Vjerojatno ste čuli izraze poput “moja igračka je previše teška”, “laka datoteka”, teška mapa”. Mogu li se mape i datoteke vagati? I u kojim jedinicama se onda važu? Da, koliko god čudno zvučalo, ali datoteke i mape također imaju svoju težinu, ili točnije, volumen. Kad ne bi ništa težili, ne bismo trebali tvrde diskove i oslobodili bismo prostor za druge informacije.

Što je veličina datoteke i mape

Čak se i informacije mogu mjeriti. Za to računalna terminologija ima svoje mjerne jedinice: bajt, kilobajt, megabajt, gigabajt, terabajt i tako dalje. Sve računalne informacije zapisuju se pomoću 0 (nula) i 1 (jedan). Nula i jedan u kompjuterskom jeziku je 1 bit. Skupina od osam bitova naziva se bajt. Čitaj više.

Osnovne jedinice pohrane informacija:

1 bajt= 8 bita

1 kilobajt(KB) = 1024 bajta

1 megabajt(MB) = 1024 kilobajta

Budući da računalo radi u binarnom sustavu (1 i 0), mnogo mu je prikladnije raščlanjivati ​​informacije na ovaj način. Broj 1024 je kilobajt, a jedan kilobajt u binarnom sustavu je 2 10 \u003d 1024. Koristimo decimalni brojevni sustav, tako da nije uobičajeno raditi s takvim brojevima.

Svaka datoteka (grafika, glazba, video, itd.) ima vlastitu veličinu. Sve informacije u računalu snimaju se na tvrdi disk koji ima određenu količinu. Memorija računala također se mjeri u ovim jedinicama.

Svaki medij za pohranu, kao što su: tvrdi disk, disketa, flash pogon, memorijska kartica i CD/DVD diskovi, ima vlastiti volumen, više od kojeg ne možete pisati na njega.

Kako saznati težinu datoteke ili mape

Da biste saznali koliko je datoteka ili mapa teška, potrebno je lebdjeti iznad datoteke (ili mape) i pričekati nekoliko sekundi dok se ne pojavi prozor s podacima.


Ako je mapa ili datoteka prevelika, tada na taj način nećete saznati informaciju o njezinoj veličini. U tom slučaju trebate desnom tipkom miša kliknuti mapu ili datoteku, odabrati s padajućeg izbornika Svojstva(na samom dnu), a veličinu pogledajte u novom prozoru na kartici Općenito.

Ako govorimo o informacijama općenito, onda se one mjere u BAJTOVIMA. Mjerenje u ovim jedinicama počelo je davne 1956. godine. Tada je ovaj iznos bio dovoljan. Da bi bilo jasnije o kojoj vrijednosti govorimo, reći ću vam da je 1 bajt = 1 znak. S razvojem tehnologije povećavala se i količina informacija, te nije bilo zgodno mjeriti veliku količinu informacija u BAJTOVIMA. Zatim su se pojavili prefiksi KILO-BYTE (KB), MEGA-BYTE (MB), GIGA-BYTE (GB), TERA-BYTE (TB) itd.

Da bismo razumjeli koliko su te vrijednosti velike ili male, dat ću sljedeću usporedbu:
- 1KB (jedan kilobajt) = 1024 bajta, a to je otprilike količina informacija u jednom ispisanom listu formata A4;

1MB (jedan megabajt) = 1024 kilobajta, a to je količina informacija za pristojan volumen od 600-700 stranica!

1GB (jedan gigabajt) = 1024 megabajta, a to je već cijela biblioteka od 1024 knjige sa po 600 stranica!

1TB (jedan terabajt) = 1024 gigabajta, ta je količina informacija usporediva s prosječnom europskom knjižnicom koja sadrži oko 8 milijuna knjiga. Na primjer, Ruska državna knjižnica ima oko 43 milijuna jedinica.

Sada usporedimo količinu i vrstu informacija s obzirom na medij na koji se te informacije mogu zabilježiti.

Disketa kapaciteta 1,44 MB. Jednom davno, disketa je bila glavni dostupni nositelj digitalnih informacija, tk. Moglo bi se stvarno svašta napisati na njemu. Sada diskete uglavnom koriste računovođe za pohranu elektroničkih ključeva i potpisa. Razlog je jednostavan - na disketi nema dovoljno prostora za pohranu modernih informacija. Jedna ili dvije fotografije snimljene mobilnim telefonom s kamerom od 3 megapiksela mogu se zapisati na disketu; pet, deset Word, Excel dokumenata.

Flash disk kapaciteta 1 GB. Najprikladniji medij za danas. Uzeo sam kapacitet flash pogona od 1 GB za višestrukost računa, ali općenito, u vrijeme pisanja ovog teksta, postoje i flash pogoni od 64 GB!
Što se može snimiti na flash disk od 1 GB: jedan film relativno dobre kvalitete; oko 200 glazbenih datoteka u .mp3 formatu; oko 200 fotografija dobre kvalitete; mnogo dokumenata i programa male veličine.

CD disk kapaciteta 700MB. Na CD možete snimiti: jedan film u .avi formatu, relativno dobre kvalitete; oko 150 glazbenih datoteka u .mp3 formatu; oko 150 fotografija dobre kvalitete; mnogo dokumenata i programa male veličine.

DVD disk kapaciteta 4,7 GB. Na DVD disk možete snimiti: jedan film u DVD ili HDTV formatu; 4-5 kvalitetnih .avi filmova; oko 1200 glazbenih datoteka u .mp3 formatu; oko 1000 fotografija dobre kvalitete; jakoooo mnogo dokumenata i programa.

Winchester kapaciteta 120GB. Ovdje ću, da ne šaram po dokumentima, usporediti s brojem filmova koji se mogu snimiti na takav tvrdi disk. Dakle, na tvrdi disk od 120 GB možete snimiti 25 filmova u DVD ili HDTV kvaliteti!

Sada idemo redom da shvatimo kako odrediti veličinu diska, datoteke ili mape.
U sustavu Windows možete odrediti veličinu datoteke, mape ili pogona u EXPLORER-u. "Explorer" možete pokrenuti dvostrukim klikom LIJEVE tipke miša na prečac "Moje računalo" na radnoj površini ili kombinacijom tipki "Win + E".

Ako, na primjer, želite znati koliko je slobodnog prostora ostalo na disku, posebno na flash pogonu, kliknite desnom tipkom miša na sliku prijenosnog diska, obično je potpisana kao "Removable disk (F: )” ili “Naziv flash diska (F:)”, kao na slici:

Dakle, desnom tipkom miša kliknite sliku prijenosnog diska - flash pogona i odaberite stavku "Svojstva" u izborniku koji se otvori, na samom dnu. Nakon toga se otvara prozor:


Ovdje možete vidjeti koliko je iskorišteno (označeno plavom bojom), koliko slobodno (označeno ružičastom bojom) i koliko je ukupno prostora na disku.

Dakle, možete saznati preostali slobodni prostor ne samo na flash pogonu, već i na bilo kojem prijenosnom ili logičkom pogonu tvrdog diska.

Shema za određivanje veličine datoteke ili mape ista je kao kod diska. Oni. pronađite željenu datoteku ili mapu na disku, kliknite na nju (-it) DESNOM tipkom miša i pogledajte "Svojstva".


Sve potrebne informacije bit će tamo.


Ako želite znati veličinu grupe datoteka ili mapa, trebate ih odabrati i izvršiti iste operacije, tj. kliknite desnom tipkom miša na jednu od odabranih datoteka ili mapa, odaberite "Svojstva" i pogledajte veličinu.

Da, drugi dio lekcije ne spada baš pod naslov "Osnove računala", ali svejedno. Ako imate pitanja, uvijek ih možete postaviti u komentarima.

Vjerojatno na web stranicama često vidite potpis koji označava veličinu datoteke. Ovaj pokazatelj nitko ne potpisuje. Ovaj problem se rješava pisanjem funkcije u php. Kao rezultat toga, ispis će biti sljedeći:

Veličina datoteke: 2,3 MB
Vrlo je prikladno u slučaju preuzimanja bilo kojeg materijala sa stranice. Pa krenimo.

Napravite PHP funkciju koja određuje veličinu datoteke

Funkcija će biti vrlo jednostavna i jasna. Koristi tri ugrađene funkcije:

dokument postoji- provjeriti prisutnost navedene datoteke ili direktorija.

veličina datoteke- odrediti veličinu datoteke. Vraća rezultat u bajtovima. Ako je datoteka veća od 2 GB, tada, ovisno o poslužitelju, može prikazati netočne rezultate.

krug je ugrađena funkcija koja skraćuje prikazanu vrijednost na cijeli broj i jednu desetinu nakon točke razgraničenja.
Funkcija provjerava prisutnost same datoteke, zatim uzastopno pokušava odrediti veličinu datoteke - ako je veća od 1024 bajta, rezultat bi trebao biti prikazan u MB, ako je veća od 1024 MB, trebao bi biti ispisan u GB. A na kraju svakog koraka, ugrađena funkcija zaokruživanja zaokružuje rezultat od mnogo znamenki na cjelobrojnu vrijednost i jednu desetinu pomoću graničnika.

Kreirajmo sada funkcijsku datoteku. Takve se datoteke obično čuvaju u zasebnoj mapi. Na primjer funkcija.

PHP kod(datoteka funkcije.php)

// argumenti funkcije bit će put do datoteke
funkcija get_filesize($file)
{
// idi u datoteku
if(!file_exists($file)) return "Datoteka nije pronađena";
// sada odredite veličinu datoteke u nekoliko koraka
$veličina datoteke = veličina datoteke($datoteka);
// Ako je veličina veća od 1 KB
if($veličina datoteke > 1024)
{

// Ako je veličina datoteke veća od kilobajta
// bolje je prikazati u megabajtima. Pretvaranje u MB
if($veličina datoteke > 1024)
{

// A ako je datoteka veća od 1 megabajta, onda provjerite
// Nije li veći od 1 gigabajta
if($veličina datoteke > 1024)
{
$veličina datoteke = ($veličina datoteke/1024);

Vrati $filesize." GB";
}
drugo
{

vrati $veličinu datoteke." MB";
}
}
drugo
{
$veličina datoteke = okrugla($veličina datoteke, 1);
vrati $veličinu datoteke." KB";
}
}
drugo
{
$veličina datoteke = okrugla($veličina datoteke, 1);
vrati $filesize." bajtova";
}
}
?>
Stvorili smo funkciju. Sljedeći korak je primjena.

PHP kod

include_once "funkcija/funkcija.php"; // uključi datoteku s funkcijom

// umetnite stazu ili varijablu sa stazom za obradu s funkcijom
$size = get_filesize("images/photo.jpg");
echo "Veličina datoteke: ".$veličina.""; // prikaži rezultat s veličinom
?>
Sve je spremno! Koristite na zdravlje!
Hvala na pozornosti! I sretno u radu!



Vjerojatno na web stranicama često vidite potpis koji označava veličinu datoteke. Ovaj pokazatelj nitko ne potpisuje. Ovaj problem se rješava pisanjem funkcije u php. Kao rezultat toga, ispis će biti sljedeći:

Veličina datoteke: 2,3 MB
Vrlo je prikladno u slučaju preuzimanja bilo kojeg materijala sa stranice. Pa krenimo.

Napravite PHP funkciju koja određuje veličinu datoteke

Funkcija će biti vrlo jednostavna i jasna. Koristi tri ugrađene funkcije:

dokument postoji- provjeriti prisutnost navedene datoteke ili direktorija.

veličina datoteke- odrediti veličinu datoteke. Vraća rezultat u bajtovima. Ako je datoteka veća od 2 GB, tada, ovisno o poslužitelju, može prikazati netočne rezultate.

krug je ugrađena funkcija koja skraćuje prikazanu vrijednost na cijeli broj i jednu desetinu nakon točke razgraničenja.
Funkcija provjerava prisutnost same datoteke, zatim uzastopno pokušava odrediti veličinu datoteke - ako je veća od 1024 bajta, rezultat bi trebao biti prikazan u MB, ako je veća od 1024 MB, trebao bi biti ispisan u GB. A na kraju svakog koraka, ugrađena funkcija zaokruživanja zaokružuje rezultat od mnogo znamenki na cjelobrojnu vrijednost i jednu desetinu pomoću graničnika.

Kreirajmo sada funkcijsku datoteku. Takve se datoteke obično čuvaju u zasebnoj mapi. Na primjer funkcija.

PHP kod(datoteka funkcije.php)

// argumenti funkcije bit će put do datoteke
funkcija get_filesize($file)
{
// idi u datoteku
if(!file_exists($file)) return "Datoteka nije pronađena";
// sada odredite veličinu datoteke u nekoliko koraka
$veličina datoteke = veličina datoteke($datoteka);
// Ako je veličina veća od 1 KB
if($veličina datoteke > 1024)
{

// Ako je veličina datoteke veća od kilobajta
// bolje je prikazati u megabajtima. Pretvaranje u MB
if($veličina datoteke > 1024)
{
$veličina datoteke = ($veličina datoteke/1024);
// A ako je datoteka veća od 1 megabajta, onda provjerite
// Nije li veći od 1 gigabajta
if($veličina datoteke > 1024)
{
$veličina datoteke = ($veličina datoteke/1024);

vrati $filesize." GB";
}
drugo
{
$veličina datoteke = okrugla($veličina datoteke, 1);
vrati $veličinu datoteke." MB";
}
}
drugo
{
$veličina datoteke = okrugla($veličina datoteke, 1);
vrati $veličinu datoteke." KB";
}
}
drugo
{
$veličina datoteke = okrugla($veličina datoteke, 1);
vrati $filesize." bajtova";
}
}
?>
Stvorili smo funkciju. Sljedeći korak je primjena.

PHP kod

include_once "funkcija/funkcija.php"; // uključi datoteku s funkcijom

// umetnite stazu ili varijablu sa stazom za obradu s funkcijom
$size = get_filesize("images/photo.jpg");
echo "Veličina datoteke: ".$veličina.""; // prikaži rezultat s veličinom
?>
Sve je spremno! Koristite na zdravlje!
Hvala na pozornosti! I sretno u radu!

Prije svega, recimo da ćemo ovdje govoriti o FAT i NTFS datotečnim sustavima, kao najčešćim, a nećemo ništa govoriti o datotečnim sustavima koji se koriste u ne-Windows sustavima, budući da su takvi sustavi izvan dosega interesi autora. A sada - na posao.

Čini se, kakva dvosmislenost može biti, ako govorimo o veličini datoteke. Koliko je podataka u njega upisano, tolika je i veličina (ili duljina). Koliko bajtova ima od početka do kraja (a taj broj je zabilježen u datotečnom sustavu kao veličina datoteke), takva je i veličina, zar ne? Kako reče bolničar Šelmenko, tako je, ali samo sitnica nije tako.

Napravite eksperiment. Uzmite bilo koju izvršnu datoteku i kopirajte je pomoću naredbe
kopirati nešto.exe nešto drugo.exe

Ako ste se s tim već susreli, već znate da će rezultirajuća datoteka biti mnogo kraća od originala i neće biti kopija. Razlog je jednostavan: program za kopiranje, pokrenut bez opcije /b, kopira datoteku sve dok ne naiđe na bajt s kodom 27h, taj se znak naziva "kraj datoteke".

Dakle, već imamo dva različita znaka kraja datoteke - brojem zabilježenim u datotečnom sustavu i posebnim bajtom u tijelu datoteke. Istina, vrijedi napomenuti da je drugi znak ostao od vremena kada su datoteke bile pretežno tekstualne i sada se praktički ne koristi.

U datotečnim sustavima koji koriste klastere, a FAT i NTFS se odnose upravo na takve datotečne sustave, postoji i treća veličina - veličina datoteke na disku, odnosno ukupna veličina klastera dodijeljenih ovoj datoteci. U FAT datotečnim sustavima ta je veličina veća ili jednaka veličini stvarne datoteke. Razlika između veličina, ako postoji, - takozvani rep datoteke - izgubljen je prostor na disku, plaćanje za postavljanje datoteka u klastere, a ne od kraja do kraja jedne za drugom, iako datotečni sustavi s takvim postoji i smještaj datoteka.

Međutim, ponekad se ovo mjesto koristi. Konkretno, u danima disketa postojali su programi koji su vam dopuštali zapisivanje podataka u repove datoteka kako biste tajno prenijeli informacije na takve diskete. Uostalom, nemoguće je dobiti pristup repovima datoteka standardnim sredstvima.

Ako u obzir uzmemo NTFS, tada će slika biti nadopunjena novim detaljima.
Prije svega, veličina datoteke na disku može biti manja od stvarne veličine datoteke.
Ako tijelo datoteke stane u slobodno područje zapisa MFT datoteke, tada datoteka ne zauzima nijedan klaster na disku.

Maksimalna veličina takve datoteke ovisi o veličini zapisa i iznosi približno 600 bajtova za mali zapis (1 KB) i 3600 za veliki zapis (4 KB). Međutim, treba imati na umu da je do nedavno Windows prikazivao veličinu takve datoteke na disku kao jednaku jednom klasteru, iako zapravo datoteci nije bio dodijeljen klaster.

Ako je datoteka komprimirana, tada njezina veličina na disku može biti znatno manja od stvarne duljine datoteke (količine podataka u njoj).

Takozvane rijetke datoteke dodatno kompliciraju sliku. Oni sadrže korisne podatke samo u određenim dijelovima datoteke, a ostatak datoteke se uopće ne koristi. Uzmimo kao primjer datoteku s zapisom promjena \$Extend\$UsnJrnl koja se nalazi na gotovo svakom računalu (ne pokušavajte je vidjeti u Exploreru ili drugim upraviteljima datotekama, neće raditi).


Može biti dugačak nekoliko gigabajta, ali obično sadrži samo 32 megabajta smislenih podataka na samom kraju. A ostali podaci uopće ne sadrže podatke, ne zauzimaju prostor na disku, a kada pokušate pročitati podatke iz ovog dijela, sustav će izdati skup nula čak i bez pristupa disku.
Ako čitatelj želi eksperimentirati s rijetkim datotekama, takva se datoteka može stvoriti pomoću naredbe fsutil sparse. A u slobodno vrijeme možete razmisliti koja je stvarna duljina datoteke ako je sustav u odgovarajuću kolonu zapisao brojku 4 GB, a stvarni podaci u datoteci imaju samo 32 MB i zauzimaju 32 MB na disku .

I na kraju, razgovarajmo o još jednoj duljini: duljini valjanih podataka (valid data). Ova duljina i funkcije koje je postavljaju gotovo su isključivo od interesa za programere, ali povremeno se s njom mogu susresti obični korisnici.

U FAT datotečnim sustavima ovaj koncept ne postoji, a funkcije koje koriste ovu vrijednost upisuju nule u tijelo datoteke na odgovarajuća mjesta. U NTFS-u ova duljina je karakteristika datoteke.

Pokušajmo objasniti što u pitanju, Na primjer. Uzmite flash pogon (flash pogon se koristi radi jasnoće, jer je sporiji tvrdi disk radi s velikim količinama podataka) od veličine gigabajta, formatiran u FAT32, i na njemu stvorite veliku datoteku naredbom
fsutil datoteka createnew k:\trial.txt 900000000

Ako se slovo dodijeljeno flash pogonu razlikuje od K, ispravite naredbu u skladu s tim.
Vidjet ćete da će procedura kreiranja datoteke biti prilično duga, pola minute ili čak i više (iako će se poruka "datoteka stvorena" pojaviti odmah, morat ćete pričekati da se pojavi naredbeni redak). To uopće ne čudi, jer opis naredbe () kaže da se datoteka koja se stvara sastoji od nula. A datoteka koju smo dobili imala je 858 megabajta, tako da pisanje ne bi trebalo trajati tako malo.

Sada formatirajte flash pogon u NTFS, za čistoću eksperimenta bolje je uzeti isti i ponoviti stvaranje datoteke. Ovaj put, operacija će se odvijati gotovo trenutno. Više nije potrebno pisati nule u tijelo datoteke, dovoljno je dodijeliti prostor za datoteku i postaviti duljinu stvarnih podataka na nulu za nju. Tijelo datoteke sadržavat će "smeće" koje je napisano u tim sektorima, ali prilikom čitanja podataka tim podacima neće biti moguće pristupiti - nakon što je utvrdio da je duljina stvarnih podataka nula, sustav neće pročitati sve što je dalje od ove nule - uostalom, ovi podaci nisu valjani. Mogu se učiniti važećim promjenom valjane vrijednosti duljine podataka.

Razmotrimo ovo na primjeru. Stvorite novu datoteku na jednom od NTFS-formatiranih pogona za nuždu. Stotine megabajta su potpuno neobavezne, desetak ili dva kilobajta će biti dovoljno:
fsutil datoteka createnew C:\trial.txt 10000

Sada ga otvorite bilo kojim preglednikom datoteka kao što je FAR.


Kao što vidite, u datoteci doista ima nula. Ali ako pogledate ovu datoteku koristeći neki uređivač diska koji izravno pristupa sektorima, kao što je dmde, tada će slika biti drugačija.

Ako otvorimo volumen C kao logički uređaj i pogledamo sadržaj datoteke, vidjet ćemo iste nule.


Ali ako otvorite disk kao fizički uređaj, tada u istom sektoru (obratite pozornost na LBA brojeve - razlika u 63 nastala je zbog činjenice da je početak particije pomaknut u odnosu na početak diska) će vidjeti podatke koji su prethodno bili zapisani u neku kasniju udaljenu datoteku.


A ako povećamo duljinu stvarnih podataka, vidjet ćemo te podatke u datoteci. Postavite ovu duljinu na 300 bajtova:

fsutil datoteka setvaliddata C:\trial.txt 300

Imajte na umu da se parametar u ovoj naredbi ne može postaviti proizvoljno, ali ne smije biti manji od trenutne valjane vrijednosti duljine podataka i ne veći od veličine datoteke. Ovom naredbom ne možete smanjiti duljinu valjanih podataka.

Sada ponovno pogledajte sadržaj datoteke. Imajte na umu da u njega nismo upisali nikakve podatke!


Čisto slučajno, pokazalo se da u ovoj datoteci ima dosta smislenog teksta, što sliku čini vizualnijom. 300 decimalnih bajtova je 12c heksadecimalnih bajtova i na tom bajtu se prekida tekst i počinju nule. Pomaknemo li granicu valjanih podataka još dalje, tada će se “pojaviti” i sljedeći redovi.

Sumirati

Postoje dvije fizičke duljine datoteke - veličina datoteke kako je zabilježena u datotečnom sustavu i prostor koji zauzima na disku. Također postoje dvije logičke duljine datoteke - ovo je znak za kraj datoteke (bajt EOF - 27h) i duljina stvarnih podataka. Kako dio logičke duljine, također možete uzeti u obzir prazna područja u rijetkim datotekama - sjetite se \$Extend\$UsnJrnl, gdje veliki niz podataka koji nedostaju završava s trideset i dva megabajta stvarnih podataka.

Dakle, obično, kada ljudi govore o duljini datoteke, misle na broj pohranjen u datotečnom sustavu. Ali, kao što vidite, opcije su moguće!

Udio: