Cât cântărește un folder cu documente? Cum se măsoară informațiile și cum se determină dimensiunea unui fișier sau folder? Creați o funcție PHP care determină dimensiunea fișierului


Probabil că vedeți adesea o semnătură pe site-uri web care indică dimensiunea fișierului. Nimeni nu semnează singur acest indicator. Această problemă poate fi rezolvată prin scrierea unei funcții în PHP. Ca rezultat, va scoate o linie ca:

Mărime fișier: 2,3 MB
Este foarte convenabil atunci când descărcați orice materiale de pe site. Asadar, haideti sa începem.

Creați o funcție PHP care determină dimensiunea fișierului

Funcția va fi destul de simplă și simplă. Utilizează trei funcții încorporate:

fisierul exista- verificarea prezenței fișierului sau directorului specificat.

mărime fișier- determinați dimensiunea fișierului. Returnează rezultatul în octeți. Dacă fișierul este mai mare de 2 GB, atunci, în funcție de server, poate afișa rezultate incorecte.

rundă- o funcție încorporată care scurtează valoarea de ieșire la un întreg și o zecime după separatorul de perioade.
Funcția verifică prezența fișierului în sine, apoi încearcă secvențial să determine cât de mare este dimensiunea fișierului - dacă este mai mare de 1024 de octeți, atunci rezultatul ar trebui să fie afișat în MB, dacă este mai mare de 1024 MB, atunci ar trebui să fie scos în GB. Și la sfârșitul fiecărui pas, funcția de rotunjire încorporată rotunjește rezultatul de la mai multe cifre la o valoare întreagă și o zecime cu un separator.

Acum să creăm un fișier cu funcție. Este obișnuit să păstrați astfel de fișiere într-un folder separat. De exemplu funcţie.

Cod PHP(fişier funcția.php)

// argumentele funcției vor fi calea către fișier
funcția get_filesize($fișier)
{
// mergeți la fișier
if(!file_exists($file)) returnează „Fișierul nu a fost găsit”;
// acum determinăm dimensiunea fișierului în mai mulți pași
$filesize = file size($file);
// Dacă dimensiunea este mai mare de 1 KB
if($filesize > 1024)
{

// Dacă dimensiunea fișierului este mai mare decât Kilobyte
// atunci este mai bine să-l afișați în Megaocteți. Convertiți în MB
if($filesize > 1024)
{
$filesize = ($filesize/1024);
// Și dacă fișierul are mai mult de 1 Megaoctet, atunci verificăm
// Este mai mare de 1 Gigabyte
if($filesize > 1024)
{
$filesize = ($filesize/1024);

returnează $filesize." GB";
}
altfel
{
$filesize = round($filesize, 1);
returnează $filesize." MB";
}
}
altfel
{
$filesize = round($filesize, 1);
returnează $filesize." Kb";
}
}
altfel
{
$filesize = round($filesize, 1);
returnează $filesize." octet";
}
}
?>
Am creat funcția. Tot ce rămâne este să-l aplici.

Cod PHP

include_once "funcție/funcție.php"; // include fișierul cu funcția

// inserați o cale sau o variabilă cu o cale pentru procesare de către funcție
$size = get_filesize("imagini/fotografie.jpg");
echo "Dimensiunea fișierului: ".$size.""; // scoate rezultatul cu dimensiunea
?>
Totul este gata! Bucură-te de el pentru sănătatea ta!
Vă mulțumim pentru atenție! Si mult succes in munca ta!

Vă propun să luați în considerare ce fel de animale sunt acestea - formatele foto JPG și RAW, ce afectează acestea și când ar trebui să le acordați atenție. Ce este dimensiunea fotografiei și greutatea fișierului, cum sunt măsurate și de ce depind.

Aproape toate camerele foto pot salva fotografii în format JPG (chiar și camerele pentru telefon și tabletă). În toate camerele SLR și non-SLR, precum și în compactele avansate, pe lângă JPG, există cel puțin RAW și RAW+ și uneori TIFF.

Pentru a înțelege formatele, trebuie mai întâi să fiți de acord asupra a ceea ce se înțelege prin conceptele de „dimensiune” unei fotografii și „greutate” unui fișier (foto). Îmi propun să luăm în considerare aceste concepte pe obiecte mai tangibile... de exemplu, pe bunătăți.

1 | Ce este un pixel:


Dimensiunea obiectelor este măsurată în metri, dimensiunea fotografiilor este măsurată în pixeli (px).

Daca masurati marimea acestui bol cu ​​fructe de padure va avea aproximativ 10 centimetri in inaltime si aproximativ 13 centimetri in latime... aproximativ. Adică suntem obișnuiți să măsurăm obiecte în centimetri (metri, kilometri și așa mai departe). Dacă vorbim despre fotografia aceleiași vaze, atunci dimensiunea originală a fotografiei este de 7360 pixeli (px) lățime și 4912 pixeli (px) înălțime. Aceasta este dimensiunea maximă a fotografiei de care este capabilă camera mea Nikon. Pentru a posta această fotografie pe site, dimensiunea fotografiei a fost redusă la 1200px cu 798px (vă voi spune de ce puțin mai târziu).

Ce este un pixel? Realizate cu camere digitale sau digitizate cu un scaner, fotografiile sunt o combinație de pătrate colorate minuscule - pixeli. Dacă măriți orice fotografie, veți vedea acești pixeli. Cu cât sunt mai mulți astfel de pixeli într-o fotografie, cu atât imaginea este mai detaliată.


Un fragment de fotografie mărit de o mie de ori - sunt vizibile pătrate de pixeli.

2 | Este posibil să convertiți pixeli în centimetri:

Este exact ceea ce se întâmplă atunci când trebuie să imprimați fotografii pe hârtie. Aici veți avea nevoie de încă un indicator - densitatea pixelilor (rezoluția) pe care o poate imprima imprimanta (sau altă mașină pentru imprimarea fotografiilor). Standardul de imprimare pentru fotografii este de 300 dpi (puncte pe inch). De exemplu, pentru imprimarea în reviste lucioase frumoase, sunt folosite fotografii cu o rezoluție de 300 dpi.

Pentru a nu vă băga mintea să împărțiți dimensiunea fotografiei la rezoluție și să convertiți inci în centimetri, orice program pentru vizualizarea și editarea fotografiilor (de exemplu, Photoshop) are o funcție de vizualizare a dimensiunii imaginii foto în centimetri. Veți avea nevoie de el pentru a înțelege dimensiunea maximă a unei fotografii de bună calitate (cu o rezoluție de 300 dpi) pe care o puteți imprima pe hârtie sau pe alte suporturi tangibile.

De exemplu, această fotografie cu flori tropicale Frangispani poate fi imprimată la dimensiunea 61 cm pe 32 cm.


Dimensiunea fotografiei în pixeli și centimetri în Photoshop

Pentru a afla dimensiunea fotografiei în pixeli și centimetriîn Photoshop, trebuie să apăsați combinația de taste Alt+Ctrl+I sau să accesați meniul Imagine Dimensiune imagine.

Să revenim la realitatea fotografiilor digitale - la pixeli și dimensiunile fotografiilor în pixeli. Ce se întâmplă dacă reduceți numărul de pixeli dintr-o fotografie? Răspunsul este că calitatea fotografiei se va deteriora. De exemplu, am făcut o fotografie cu același castron de fructe de pădure care era la începutul articolului și am redus dimensiunea fotografiei la 150 de pixeli lățime. Cu această reducere, programul distruge o parte din pixeli. Fotografia a devenit miniaturală:

Acum să încercăm să „întindem” fotografia pe întreaga pagină:


O imagine întinsă pare tulbure și neclară

După cum puteți vedea, detaliul nu mai este același, deoarece unii dintre pixeli (și cu ei detaliile) lipsesc.

Desigur, dacă utilizați această imagine redusă ca pictogramă mică sau imagine mică într-o prezentare Power Point, va arăta destul de normal, dar în mod clar nu este potrivită pentru tipărirea într-o revistă de jumătate de pagină.

3 | Ce dimensiune a fotografiei (câți pixeli) este optimă:

Dacă intenționați să imprimați fotografii într-o zi, atunci salvați fotografii la cea mai mare rezoluție posibilă, pe care camera dvs. o va permite doar (citiți cu atenție instrucțiunile pentru camera dvs. pentru a regla corect dimensiunea fotografiei).

În unele cazuri, trebuie să reduceți dimensiunea fotografiilor. După cum am scris mai sus, pentru site reduc dimensiunea fotografiei la 1200 de pixeli pe partea lungă. Dacă încărcați o fotografie la dimensiune completă, paginile site-ului vor dura foarte mult timp pentru a se încărca și este posibil ca multor vizitatori să nu le placă acest lucru (să nu mai vorbim de motoarele de căutare Google și Yandex).

Dimensiunile fotografiilor sunt măsurate în pixeli (px). Numărul de pixeli determină dimensiunea fotografiei de pe ecranele monitorului și ce dimensiune poate fi imprimată fotografia.

4 | Dimensiunea fișierului sau „greutatea fotografiei”:

Acum să ne uităm la „greutatea fotografiei”. Din punct de vedere istoric, a existat multă confuzie cu privire la această problemă, iar dimensiunea fișierului este destul de des numită „greutatea fotografiei”, ceea ce este mai convenabil decât corect. Dimensiunile fișierelor sunt măsurate în megaocteți (MB) sau kiloocteți (KB). Și aici merită să ne amintim că, spre deosebire de kilograme, unde 1 kg = 1000 g, 1 megaoctet = 1024 kiloocteți.

Cum arată acest lucru în practică: imaginați-vă situația în care camera dvs. are un card de memorie pe care scrie 64 GB (gigaocteți). Dacă vă uitați la exact câți octeți există (pe computer, faceți clic dreapta pe „proprietăți”), se dovedește că pe acest card de memorie există 63567953920 de octeți și aceasta este egală cu 59,2 GB. Cât de mari sunt fișierele pe care le produce camera ta va determina câte fotografii vor încăpea pe acel card de memorie. De exemplu, pot potrivi 830 de fișiere foto în format RAW (citiți despre formate mai jos).

Ce determină dimensiunea fișierului:

  • În primul rând, în ceea ce privește dimensiunea fotografiei (ceea ce se măsoară în pixeli): fișierul cu prima fotografie a fructelor de pădure (dimensiunea fotografiei 7360x4912 px) este de 5,2 MB, iar acesta, redus la 150 px, va „cântări” 75,7 KB (în de 69 de ori mai puțin).
  • În al doilea rând, despre formatul (JPG, TIFF, RAW), despre care puteți citi mai jos.
  • În al treilea rând, dimensiunea fișierului (sau „greutatea fotografiei”) depinde de numărul de detalii: cu cât sunt mai multe, cu atât fotografia este mai „grea” (care este cea mai relevantă pentru formatul JPG).

Multe detalii - mai multă greutate a fotografiei

De exemplu, în această fotografie cu maimuțe din Sri Lanka există multe detalii mici, clare (în limbajul fotografilor, „ascuțite”), iar dimensiunea fișierului acestei fotografii este de 19,7 MB, care este semnificativ mai mare decât boabele dintr-o vază pe un fundal alb (5,2 MB).

Dacă întrebați ce dimensiune fotografie pot imprima dintr-o fotografie care cântărește 2 MB. Nimeni nu vă poate răspunde până nu știe numărul de pixeli. Și este mai bine, desigur, să te uiți și la fotografie, deoarece unor meșteri le place să obțină o fotografie din adâncurile internetului, să mărească numărul de pixeli în mod programatic și apoi vor să o tipărească pe coperta unei reviste. Se dovedește ca în exemplul de mai sus, cu o fotografie întinsă a unei vaze de 150 px lățime.

Dimensiunea fișierului (numită adesea „greutatea fotografiei”) este măsurată în megaocteți (MB) sau kiloocteți (KB) și depinde de formatul, dimensiunea pixelilor și detaliul fotografiei.

5 | Formate foto:

Și, în sfârșit, ajungem la problema formatelor de imagine și a tipului de compresie a fișierelor, care determină și dimensiunea fișierului foto.

Aproape toate camerele foto pot salva fotografii în format JPG(chiar și camere de pe telefoane și tablete). Acesta este cel mai comun format de imagine și este „înțeles” de toate computerele și programele de vizualizare a imaginilor. În format JPG, fotografiile pot fi încărcate pe rețelele sociale, postate pe un blog, adăugate în fișiere Word, Power Point și așa mai departe. JPG poate fi procesat în Photoshop, Lightroom și alte programe de editare a imaginilor.

Din practica mea: dacă vreau să fac o fotografie pentru o rețea de socializare și să o încarc rapid, atunci fie fac o fotografie cu telefonul, fie setez formatul fișierului la jpg în camera mea.

Ceva de reținut despre formatul jpg este că este un format comprimat și are niveluri de compresie. Cu cât raportul de compresie este mai mare, cu atât dimensiunea fișierului este mai mică datorită reducerii detaliilor și calității fotografiei. Prin urmare, nu este recomandat să editați și să resaveți (recomprimați) în mod repetat aceleași fotografii în format jpg.


Când salvați un fișier în format jpg, nivelul de compresie este selectat (exemplu din Photoshop).

În toate camerele SLR și non-SLR, precum și în compactele avansate, pe lângă JPG, există cel puțin RAW și adesea și TIFF.

Puțină teorie:

  • TIFF(English Tagged Image File Format) - un format pentru stocarea imaginilor grafice raster (inclusiv fotografii). TIFF a devenit un format popular pentru stocarea imaginilor cu o adâncime mare de culoare. Este folosit în imprimare și este larg acceptat de aplicațiile grafice.
  • BRUT(Engleză raw - raw, unprocessed) - un format de fotografie digitală care conține date brute obținute dintr-o matrice foto (lucru care a înlocuit filmul în camerele digitale).

Personal, nu filmez niciodată în format TIFF. Nici nu mă pot gândi de ce am nevoie de asta dacă există RAW. Pot folosi TIFF fără compresie pentru a salva fotografiile pe care încă intenționez să le modific în Photoshop.

6 | Avantajele și dezavantajele formatului RAW:

Camera mea este aproape întotdeauna în format RAW, deoarece intenționez să procesez (editez) fotografii în Lightroom sau Photoshop. RAW are o serie de dezavantaje semnificative:

  • Nu există nicio modalitate de a vizualiza fișiere fără a le converti mai întâi. Adică pentru a vizualiza fotografii în format RAW ai nevoie de un program special care să accepte acest format de imagine.
  • Dimensiunea fișierului mai mare decât atunci când salvați în JPEG (cu camera mea Nikon D800, dimensiunea fișierului cu o fotografie în format RAW este de 74-77 MB). Aceasta înseamnă că pe unitatea flash vor încăpea mai puține fotografii.
  • RAW nu poate fi încărcat pe rețelele sociale, bloguri și, uneori, chiar trimis prin poștă. În primul rând, RAW trebuie convertit într-un convertor RAW (de exemplu, Adobe Camera Raw) care acceptă tipul de fișier de la modelul dvs. de cameră.

De ce fotografi profesioniști preferă adesea RAW decât JPG? Pentru că RAW:

Păstrează acest articol ca suvenir pe Pinterest
  • oferă mai multe opțiuni pentru corectarea imaginii: balans de alb, contrast, saturație, luminozitate și nivel de zgomot,
  • vă permit să corectați în continuare imaginile fără apariția de defecte,
  • permite corectarea fină a imperfecțiunilor lentilelor (vignetare, aberații cromatice).

Așadar, dacă intenționați să vă procesați cu atenție fotografiile în Photoshop sau Lightroom, simțind cu sensibilitate „artefacte” și semitonuri, „supraexpuneri” și „cufundări” în umbră, atunci fotografiați în RAW. Nu uitați că pentru a obține un rezultat bun, va trebui să înțelegeți setările și funcționarea convertoarelor RAW. Gândiți-vă dacă aveți nevoie de această durere de cap? Poate ar trebui să filmați în JPG și să petreceți mai mult timp relaxându-vă și nu pe computer?

Standard POSIX are propria sa metodă de a obține dimensiunea fișierului.
Includeți antetul sys/stat.h pentru a utiliza caracteristica.

abstract

  • Obțineți statistici despre fișiere folosind stat(3) .
  • Obțineți proprietatea st_size.

Exemple

Notă. Dimensiunea este limitată la 4 GB. Dacă nu sistemul Fat32 Fat32, atunci utilizați versiunea pe 64 de biți!

#include #include int main(int argc, char** argv) ( struct stat info; stat(argv, &info); // "st" este un acronim al lui "stat" printf ("%s: size=%ld\n", argv , info.st_size) #include #include int main(int argc, char** argv) ( struct stat64 info; stat64(argv, &info); // „st” este un acronim al lui „stat” printf(„%s: size=%ld\n”, argv , info.st_size);

ANSI C (standard)

ANSI C nu oferă o modalitate directă de a determina lungimea unui fișier.
Va trebui să ne folosim mintea. Vom folosi acum abordarea de căutare!

abstract

  • Găsiți fișierul până la sfârșit folosind fseek(3) .
  • Obțineți poziția curentă folosind ftell(3) .

exemplu

#include int main(int argc, char** argv) ( FILE* fp = fopen(argv); int f_size; fseek(fp, 0, SEEK_END); f_size = ftell(fp); rewind(fp); // pentru a reveni la începe din nou printf("%s: dimensiune=%ld", (nesemnat lung)f_size )

Dacă fișierul stdin sau pipe. POSIX, ANSI C nu va funcționa.
Va returna 0 dacă fișierul este un pipe sau standard stdin.

Opinie: Ar trebui să utilizați standard în schimb POSIX. Pentru că are suport pe 64 de biți.