Detajet e sakta ID e imazhit php.

Pasi ju ose përdoruesit tuaj të keni ngarkuar asetet e imazhit në Clodinary, mund t'i dorëzoni ato nëpërmjet URL-ve dinamike. Ju mund të përfshini udhëzime në URL-të tuaja dinamike që i thonë Clodinary të manipulojë asetet tuaja duke përdorur një sërë parametrash transformimi. Të gjitha manipulimet kryhen automatikisht në renë kompjuterike dhe aktivet tuaja të transformuara optimizohen automatikisht përpara se të kalojnë përmes një CDN të shpejtë te përdoruesi përfundimtar për përvojë optimale të përdoruesit.

Për shembull, mund të ndryshoni madhësinë dhe prerjen, të shtoni imazhe të mbivendosura, të turbulloni ose pikseloni fytyrat, të aplikoni një larmi të madhe efektesh speciale dhe filtrash dhe të aplikoni cilësime për të optimizuar imazhet tuaja dhe për t'i dhënë ato në mënyrë të përgjegjshme.

Biblioteka PHP e Cloudinary thjeshton gjenerimin e URL-ve të transformimit për futjen e lehtë të aseteve në aplikacionin tuaj PHP.

Shpërndani dhe transformoni imazhet

Ju mund t'i dorëzoni imazhet tuaja duke përdorur metodat e gjenerimit të etiketave të imazheve ose nëpërmjet direktivave të drejtpërdrejta të ndërtimit të URL-së.

Metoda cl_image_tag

Ju mund të shtoni imazhe në pamjen tuaj PHP duke përdorur metodën ndihmëse të cl_image_tag të Cloudinary. Kjo metodë gjeneron URL-në e plotë të burimit të imazhit bazuar në parametrat e dhënë të transformimit dhe shton etiketën e imazhit në kodin tuaj HTML:

cl_image_tag( "shembull");

Kodi i mësipërm gjeneron etiketën e mëposhtme të imazhit HTML:

" https://res.site/demo/image/upload/sample" >

Ju gjithashtu mund të përfshini parametrat e transformimit në kërkesë, për shembull, për të dhënë një imazh JPEG të mbushur në një gjerësi prej 400 pikselësh:

cl_image_tag( "sample.jpg", grup ( "gjerësia" => 400 , "kulture" => "jastëk"));

Ju ose mund të shtoni transformime drejtpërdrejt në metodën tuaj cl_image_tag (të gjitha transformimet do të jenë në një komponent të vetëm, të sheshtë të burimit të URL-së që rezulton, si më sipër), ose mund t'i përcaktoni ato me parametrin e transformimit.

cl_image_tag( "sample.jpg", grup ( "transformim"=> grup ( "gjerësia" => 400 , "kulture" => "jastëk")));

Transformimet zinxhirore

Cloudinary mbështet transformime të fuqishme. Ju madje mund të kombinoni transformime të shumta së bashku si pjesë e një kërkese të vetme transformimi, p.sh. Pritini një imazh dhe shtoni një kufi. Në disa raste ju mund të dëshironi të kryeni transformime shtesë në rezultatin e kërkesës së mëparshme të transformimit. Për ta bërë këtë, mund të përdorni transformime të lidhura me zinxhirë.

Për të aplikuar transformime të lidhura me zinxhir në një URL transformimi, ju përfshini komponentë të shumtë të transformimit të ndarë me "/". Çdo komponent transformimi zbatohet në rezultatin e atij të mëparshëm. Në PHP, aplikimi i transformimeve të shumëfishta bëhet duke specifikuar parametrin e transformimit si një grup vargjesh transformimi. Shembulli i mëposhtëm fillimisht pret imazhin origjinal në një grup specifik koordinatash të personalizuara dhe më pas transformon rezultatin në mënyrë që të mbushë një drejtkëndësh 130x100:

cl_image_tag( " brown_sheep.jpg ", grup ( "transformim"=> grup ( "x"=>355 , "y"=>410 , "gjerësia"=>300 , "lartësia"=>200 , "kulture"=>"kulture"), grup ( "gjerësia"=>130 , "lartësia"=>100 , "kulture"=>"mbush"))))

Shembulli i mëposhtëm zbaton 4 transformime të lidhura me zinxhirë: prerje me porosi në 300x200, mbushje në 130x100, rrotullim me 20 gradë dhe më pas shkallëzoni në 50%:

cl_image_tag( " brown_sheep.jpg ", grup ( "transformim"=> grup ( "x"=>355 , "y"=>410 , "gjerësia"=>300 , "lartësia"=>200 , "kulture"=>"kulture"), grup ( "gjerësia"=>130 , "lartësia"=>100 , "kulture"=>"mbush"), grup ( "kënd"=>20 ), grup ( "gjerësia"=>0.5 , "kulture"=>"shkallë"))))

Për më shumë informacion mbi transformimet e imazhit, shihni.

Ndërtimi i drejtpërdrejtë i URL-së

Metoda cl_image_tag e përshkruar më sipër gjeneron një etiketë imazhi HTML. Në kushte të caktuara, mund të dëshironi të gjeneroni një URL transformimi drejtpërdrejt, pa etiketën e imazhit që përmban. Për të kthyer vetëm URL-në, ose përdorni metodën ndihmëse të pamjes cloudinary_url. Këtu janë disa shembuj:

cloudinary_url( "sample.jpg", grup ( "gjerësia" => 100 , "lartësia" => 150 , "kulture" => "mbush")); // Dalja: "https://res..jpg"

cloudinary_url( "sample_spreadsheet.xls", grup ( "lloj_burimi" => "i papërpunuar")); // Dalja: "https://res..xls"

Aplikoni transformimet e zakonshme të imazhit

Ky seksion ofron një përmbledhje dhe shembuj të veçorive të mëposhtme të transformimit të imazhit të përdorura zakonisht, së bashku me lidhjet me dokumentacionin më të detajuar mbi këto veçori:

Mbani në mend se ky seksion ka për qëllim vetëm t'ju prezantojë me bazat e përdorimit të transformimeve të imazheve me PHP.

Për shpjegime gjithëpërfshirëse se si të zbatoni një shumëllojshmëri të gjerë transformimesh, shihni Transformimet e imazhit. Për një listë të plotë të të gjitha transformimeve të imazhit të mbështetur dhe përdorimin e tyre, shihni referencën e transformimit të imazhit.

Ndryshimi i madhësisë dhe prerja

Ka shumë mënyra të ndryshme për të ndryshuar përmasat dhe/ose për të prerë imazhet tuaja dhe për të kontrolluar zonën e imazhit që ruhet gjatë prerjes.

Shembulli i mëposhtëm përdor metodën e prerjes së mbushjes për të gjeneruar dhe dhënë një imazh që plotëson plotësisht madhësinë e kërkuar 250x250 duke ruajtur raportin origjinal të pamjes. Ai përdor gravitetin e zbulimit të fytyrës për të siguruar që të gjitha fytyrat në imazh të mbahen dhe të përqendrohen kur imazhi pritet:

Imazhi origjinal Mbushni prerjen me gravitetin "fytyra".

Për detaje mbi të gjitha opsionet e ndryshimit të madhësisë dhe prerjes, shihni

Konvertimi në një format tjetër imazhi

Ju mund të dorëzoni çdo imazh të ngarkuar në Clodinary në thelb në çdo format imazhi. Ekzistojnë 3 mënyra kryesore për të kthyer dhe dorëzuar në një format tjetër:

  • Specifikimi i ID-së publike të imazhit me shtrirjen e dëshiruar.
  • Vendosni në mënyrë të qartë formatin e dëshiruar duke përdorur parametrin fetch_format.
  • Përdorni automatikisht fetch_format për të udhëzuar Cloudinary që të japë imazhin në formatin më të optimizuar për çdo shfletues që e kërkon atë.

Jepni një skedar .jpg në formatin .gif:

Lëreni Cloudinary të zgjedhë formatin optimal për çdo shfletues. Për shembull, në Chrome, kjo imazh jepet në formatin .webp.

Ju mund të zgjidhni nga një përzgjedhje e madhe e efekteve të imazhit, përmirësimeve dhe filtrave për t'u aplikuar në imazhet tuaja. Efektet e disponueshme përfshijnë një sërë efektesh të balancës së ngjyrave dhe nivelit, ngjyrosje, turbullim, pikselim, mprehje, efekte përmirësimi automatik, filtra artistikë, mbivendosje të imazhit dhe tekstit, efekte të shtrembërimit dhe ndryshimit të formës, skica, sfond, hije dhe më shumë.

Për shembull, kodi më poshtë aplikon një efekt vizatimor, efekt të këndeve të rrumbullakosura dhe efekt të ngjyrës së sfondit (dhe më pas e zvogëlon imazhin në një lartësi prej 300 pikselësh).

cl_image_tag( "actor.jpg", grup ( "transformim"=> grup ( "efekti"=>"karikaturizoj"), grup ( "rrezja"=>"max"), grup ( "efekti"=>"skicë: 100", "ngjyrë"=>"blu e ndezur"), grup ( "sfondi"=>"blu e ndezur"), grup ( "lartësia"=>300 , "kulture"=>"shkallë"))))

Për më shumë detaje mbi efektet dhe filtrat e disponueshëm të imazhit, shihni Aplikimi i efekteve dhe filtrave të imazhit

Shtimi i mbivendosjeve të tekstit dhe imazhit

Mund të shtoni imazhe dhe tekst si mbivendosje në imazhin tuaj kryesor. Ju mund të aplikoni të njëjtat lloje transformimesh në imazhet tuaja të mbivendosjes si mundeni me çdo imazh dhe mund të përdorni cilësimet e gravitetit ose koordinatat x dhe y për të kontrolluar vendndodhjen e mbivendosjeve. Ju gjithashtu mund të aplikoni një shumëllojshmëri transformimesh në tekst, të tilla si ngjyra, fonti, madhësia, rrotullimi dhe më shumë.

Për shembull, kodi më poshtë mbivendos foton e një çifti në një imazh turi. Fotografia e mbivendosjes pritet duke përdorur zbulimin e fytyrës me ngopje të rregulluar me ngjyra dhe aplikuar një efekt vinjete. Fjala dashuri shtohet me një font rozë, të zbukuruar dhe rrotullohet për t'u përshtatur Dizajni është shtuar gjithashtu një grafikë me tullumbace.

cl_image_tag( "coffee_cup.jpg", grup ( "transformim"=> grup ( "gjerësia"=>400 , "lartësia"=>250 , "graviteti"=>"jug", "kulture"=>"mbush"), grup ( "mbivendosje"=>"çift i bukur", "gjerësia"=>1.3 , "lartësia"=>1.3 , "graviteti"=>"fytyrat", "flamujt"=>"region_relative", "kulture"=>"kulture"), grup ( "efekti"=>"ngopje: 50"), grup ( "efekti"=>"vinjetë"), grup ( "flamujt"=>"shtresa_aplikoj", "gjerësia"=>100 , "rrezja"=>"max", "graviteti"=>"qendër", "y"=>20 , "x"=>-20 , "kulture"=>"shkallë"), grup ( "mbivendosje"=>"tullumbace", "lartësia"=>55 ), grup ( "efekti"=>"ngjyrë:-20", "kënd"=>5 ), grup ( "flamujt"=>"shtresa_aplikoj", "x"=>30 , "y"=>5 ), grup ( "mbivendosje"=> grup ( "font_family"=>"Biskotë", "përmasa e germave"=>40 , "pesha_font"=>"i guximshëm", "tekst"=>"dashuri"), "efekti"=>"ngjyros", "ngjyrë"=>"# f08"), grup ( "kënd"=>20 , "flamujt"=>"shtresa_aplikoj", "x"=>-45 , "y"=>44 ), grup ( "gjerësia"=>300 , "lartësia"=>250 , "x"=>30 , "kulture"=>"kulture"), grup ( "rrezja"=>60 ))))

Për një rishikim të thellë të mënyrave të shumta se si mund të optimizoni imazhet tuaja, shihni Optimizimi i imazhit

Cilësimet e imazhit të përgjegjshëm

Dizajni i përgjegjshëm i uebit është një metodë e dizajnimit të faqeve të internetit për të ofruar një përvojë optimale shikimi për përdoruesit, pavarësisht nga pajisja, madhësia e dritares, orientimi ose rezolucioni i përdorur për ta parë atë. Sigurimi i përvojës optimale do të thotë që ju duhet të shmangni dërgimin e imazheve me rezolucion të lartë që marrin përmasa të ndryshuara nga ana e klientit, me humbje të konsiderueshme të gjerësisë së brezit për përdoruesit e ekraneve të vegjël. Në vend të kësaj, duhet të jepni gjithmonë imazhin e madhësisë së duhur për secilën pajisje dhe madhësinë e ekranit.

Për shembull, mund të siguroheni që çdo përdorues të marrë imazhe në madhësinë dhe raportin e pikselit të pajisjes (dpr) që i përshtaten pajisjes së tij duke përdorur vlerën automatike për atributet dpr dhe gjerësi. Vlera automatike zëvendësohet me vlerat aktuale në anën e klientit bazuar në cilësimet aktuale të shfletuesit dhe gjerësinë e dritares:

cl_image_tag( "My Photo", grup ( "transformim"=> varg (vargu ( "dpr" => "auto", "reaguese"=> E VËRTETË "gjerësia" => "auto", "kulture" => "shkallë", "kënd"=> 20 ), grup ( "efekti" => "art:hokusai", " : " kufiri " => " 3px_solid_rgb:00390 b "," rreze " => 20))));

Cloudinary ofron disa opsione për thjeshtimin e kompleksitetit të dhënies së imazheve reaguese. Për një udhëzues të detajuar se si të zbatohen këto opsione, shihni

Gjatë viteve të fundit, hostimi në internet ka pësuar një ndryshim dramatik. Shërbimet e mbajtjes në internet kanë ndryshuar mënyrën se si funksionojnë faqet e internetit. Ka disa lloje shërbimesh, por sot do të flasim për opsionet që janë në dispozicion për ofruesit e pritjes së rishitësve. Ata janë Linux Reseller Hosting dhe Windows Reseller Hosting. Para se të kuptojmë ndryshimet themelore midis të dyve, le të zbulojmë se çfarë është pritja e rishitësve.

Pritja e Rishitësve

Me fjalë të thjeshta, pritja e shitësit është një formë e pritjes në internet ku një pronar i llogarisë mund të përdorë hapësirën e tij të dedikuar në hard diskun dhe gjerësinë e brezit të caktuar për qëllimin e rishitjes në faqet e internetit të palëve të treta. Ndonjëherë, një rishitës mund të marrë një server të dedikuar nga një kompani pritëse (Linux ose Windows) me qira dhe më tej t'ua lëshojë atë palëve të treta.

Shumica e përdoruesve të faqeve të internetit janë ose me Linux ose Windows. Kjo ka të bëjë me kohën e funksionimit. Të dyja platformat sigurojnë që faqja juaj e internetit të rritet 99% të kohës.

1.Personalizimi

Një nga ndryshimet kryesore midis një Hostingplan të Rishitës Linux dhe atij të ofruar nga Windows ka të bëjë me personalizimin. Ndërsa mund të eksperimentoni me të dy lojtarët në disa mënyra, Linux është shumë më i personalizueshëm se Windows. Ky i fundit ka më shumë veçori se homologu i tij dhe kjo është arsyeja pse shumë zhvillues dhe administratorë e shohin Linux-in shumë miqësor ndaj klientit.

2. Aplikacionet

Shërbime të ndryshme të pritjes së rishitësve kanë aplikacione të ndryshme. Linux dhe Windows kanë të dyja grupin e tyre të aplikacioneve, por kjo e fundit ka një avantazh kur bëhet fjalë për numrat dhe shkathtësinë. Kjo ka të bëjë me natyrën me burim të hapur të Linux. Çdo zhvillues mund të ngarkojë aplikacionin e tij në platformën Linux dhe kjo e bën atë një ofrues tërheqës të pritjes për miliona pronarë të faqeve të internetit.

Megjithatë, ju lutemi vini re se nëse jeni duke përdorur Linux për web hosting, por në të njëjtën kohë përdorni Windows OS, atëherë disa aplikacione mund të mos funksionojnë thjesht.

3.Stabiliteti

Ndërsa të dyja platformat janë të qëndrueshme, Linux Reseller Hosting është më i qëndrueshëm nga të dyja. Duke qenë një platformë me kod të hapur, mund të funksionojë në disa mjedise. Kjo platformë mund të modifikohet dhe zhvillohet herë pas here.

4. Pajtueshmëria .NET

Nuk është se Linux është superior ndaj Windows në çdo mënyrë të mundshme. Kur bëhet fjalë për pajtueshmërinë .NET, Windows vjedh vëmendjen. Aplikacionet në ueb mund të zhvillohen lehtësisht në një platformë pritëse të Windows.

5. Përparësitë e kostos

Të dyja platformat e pritjes janë të përballueshme. Por nëse ndjeni një krizë parash, atëherë duhet të zgjidhni Linux. Është falas dhe kjo është arsyeja pse është zgjedhur nga kaq shumë zhvillues dhe administratorë të sistemit në të gjithë botën.

6. Lehtësia e konfigurimit

Windows është më i lehtë për t'u konfiguruar sesa homologu i tij. Të gjitha gjërat e thënëa dhe të bëra, Windows ende ruan lehtësinë e tij ndaj përdoruesit gjatë gjithë këtyre viteve.

7.Siguria

Zgjidhni hostimin e rishitës Linux sepse është më i sigurt se Windows. Kjo vlen veçanërisht për njerëzit që drejtojnë bizneset e tyre të tregtisë elektronike.

konkluzioni

Zgjedhja midis të dyjavedo të varet nga kërkesa juaj dhe fleksibiliteti i kostos. Të dy shërbimet e pritjes kanë avantazhe unike. Ndërsa Windows është i lehtë për t'u konfiguruar, Linux është me kosto efektive, i sigurt dhe është më i gjithanshëm.



Në mars të këtij viti, pata një përvojë shumë të keqe me një kompani mediatike që refuzonte të më paguante dhe t'i përgjigjej emaileve të mia. Ata ende më kanë borxh mijëra dollarë dhe ndjenja e tërbimit që kam përshkon çdo ditë. Rezulton se nuk jam vetëm, dhe qindra pronarë të tjerë të faqeve të internetit janë në të njëjtën varkë. Është një lloj i barabartë për kursin me reklamat dixhitale.

Me gjithë sinqeritetin, unë e kam pasur këtë blog për një kohë të gjatë dhe kam hyrë në rrjete të ndryshme reklamash në të kaluarën. Pasi hoqa njësitë e reklamave nga ajo kompani që më shtrëngoi, u ktheva në fillim. Duhet të theksoj gjithashtu se Nuk më ka pëlqyer kurrë produkti i Google AdSense, vetëm sepse ndihet si "fundi i fuçisë" së reklamave të ekranit Jo nga një këndvështrim cilësor, por nga ai i të ardhurave.

Nga sa kuptoj unë, ju dëshironi reklamim në Google në faqen tuaj, por gjithashtu dëshironi që kompanitë dhe agjencitë e tjera të mëdha ta bëjnë këtë gjithashtu. Në këtë mënyrë ju maksimizoni kërkesën dhe të ardhurat.

Pas përvojës sime negative, unë rekomandova një kompani të quajtur Newor Media. Dhe nëse jam i sinqertë, në fillim nuk u shita kryesisht sepse nuk mund të gjeja shumë informacion mbi to. Gjeta disa komente të mira në sajte të tjera dhe pasi fola me dikë atje, vendosa ta provoja Unë do të them se ata janë SUPER të dobishëm.

Unë i kam drejtuar reklamat për disa muaj dhe fitimet janë pothuajse në përputhje me atë që po fitoja me kompaninë tjetër. Kështu që nuk mund të them vërtet nëse ato janë shumë më të mira se të tjerët, por ku dallohen është një pikë që dua të them vërtet. Komunikimi me ta është ndryshe nga çdo rrjet tjetër që kam punuar ndonjëherë. Këtu është një rast ku ata janë vërtet të ndryshëm:

Ata ma shtynë pagesën e parë në kohë me Paypal. Por për shkak se nuk jam në SHBA (dhe kjo ndodh për të gjithë unë mendoj), mora një tarifë nga Paypal. I dërgova një email përfaqësuesit tim për këtë, duke e pyetur nëse kishte një mënyrë për ta shmangur atë në të ardhmen.

Ata thanë se nuk mund të shmangnin tarifën, por që ata do të RIMBURONIN TË GJITHA TARIFAT.... PËRFSHIRË PAGESËN MË TË FUNDIT! Jo vetëm kaq, por pagesa e rimbursimit u mor brenda 10 MINUTAVE! Kur keni qenë në gjendje të bëni një kërkesë të tillë pa qenë nevoja t'i përcillni "departamentit të financave" për të mos iu përgjigjur kurrë.

Përfundimi është se unë e dua këtë kompani. Mund të jem në gjendje të bëj më shumë diku tjetër, nuk jam vërtet i sigurt, por ata kanë një botues për jetën me mua. Unë nuk jam një faqe e madhe dhe nuk gjeneroj shumë të ardhura, por ndihem si një klient shumë i rëndësishëm kur flas me ta Është sinqerisht një frymë e pastër në një industri që është e pjekur me mashtrime dhe mospërgjigje.

Mikrokompjuterët që janë krijuar nga Fondacioni Raspberry Pi në 2012 kanë qenë jashtëzakonisht të suksesshëm në nxitjen e niveleve të krijimtarisë tek fëmijët e vegjël dhe kjo kompani me bazë në Mbretërinë e Bashkuar filloi të ofrojë programe fillestare të të mësuarit për të koduar si pi-top një Kano. Tani është një startup i ri që po përdor elektronikën Pi dhe pajisja njihet si Pip, një tastierë dore që ofron një ekran me prekje, porte të shumta, butona kontrolli dhe altoparlantë. Ideja pas pajisjes është të angazhojë individë të rinj me një pajisje loje që është retro, por gjithashtu do të ofrojë një përvojë të mësuarit të kodit përmes një platforme të bazuar në ueb.

Platforma e mahnitshme e softuerit që ofrohet me Pip do të ofrojë mundësinë për të filluar kodimin në Python, HTML/CSS, JavaScript, Lua dhe PHP. Pajisja ofron mësime hap pas hapi për t'i nxitur fëmijët të fillojnë me kodimin dhe i lejon ata të bëjnë LED të ndezin. Ndërsa Pip është ende një prototip, me siguri do të jetë një sukses i madh në industri dhe do të angazhojë fëmijë që kanë interes për kodimin dhe do t'u sigurojë atyre edukimin dhe burimet e nevojshme për të filluar kodimin në moshë të re.

E ardhmja e kodimit

Kodimi ka një të ardhme të shkëlqyer dhe edhe nëse fëmijët nuk do ta përdorin kodimin si karrierë, ata mund të përfitojnë nga të mësuarit se si të kodojnë me këtë pajisje të re që e bën më të lehtë se kurrë. Me Pip, edhe entuziastët më të rinj të kodimit do të mësojnë gjuhë të ndryshme dhe do të jenë në rrugë të mbarë për të krijuar kodet e tyre, lojërat e tyre, aplikacionet e tyre dhe më shumë. Është e ardhmja e epokës elektronike dhe Pip lejon që blloqet bazë të ndërtimit të kodimit të zotërohen.
Shkenca kompjuterike është bërë një pjesë e rëndësishme e edukimit dhe me pajisje si Pip-i i ri, fëmijët mund të fillojnë të përmirësojnë edukimin e tyre në shtëpi ndërsa argëtohen. Kodimi shkon përtej thjesht krijimit të faqeve të internetit ose softuerit. Mund të përdoret për të rritur sigurinë në një qytet, për të ndihmuar me kërkime në fushën mjekësore dhe shumë më tepër. Meqenëse tani jetojmë në një botë që dominohet nga programet kompjuterike, kodimi është e ardhmja dhe është e rëndësishme për të gjithë fëmijët që të paktën të kenë një kuptim bazë se si funksionon, edhe nëse nuk i përdorin kurrë këto aftësi si karrierë. Për sa i përket të ardhmes, kodimi do të jetë një komponent kritik i jetës së përditshme. Ajo do të jetë gjuha e botës dhe mosnjohja e kompjuterëve apo si funksionojnë ata mund të paraqesë sfida që janë po aq të vështira për t'u kapërcyer sa analfabetizmi.
Kodimi do të sigurojë gjithashtu ndryshime të mëdha në botën e lojrave, veçanërisht kur bëhet fjalë për lojërat në internet, duke përfshirë aksesin në kazinotë online. Për të parë sesi kodimi ka përmirësuar tashmë botën e lojërave, hidhini një sy disa faqeve të kazinove të vlerësuara më të mira që mbështeten në kodim. Hidhni një sy të shpejtë për ta kontrolluar atë dhe shikoni se si kodimi mund të paraqesë mjedise realiste në internet.

Si Pip angazhon fëmijët

Kur bëhet fjalë për mundësinë për të mësuar kodimin, fëmijët kanë shumë mundësi. Ka një numër pajisjesh dhe pajisjesh harduerike që mund të blihen, por Pip ka një qasje të ndryshme me pajisjen e tyre. Transportueshmëria e pajisjes dhe ekrani me prekje ofrojnë një avantazh për pajisjet e tjera koduese që janë në treg. Pip do të jetë plotësisht i pajtueshëm me komponentët elektronikë përveç sistemit Raspberry Pi HAT. Pajisja përdor gjuhë standarde dhe ka mjete bazë dhe është një pajisje e përsosur për çdo kodues fillestar. Qëllimi është të hiqet çdo pengesë midis një ideje dhe krijimit dhe t'i vërë mjetet menjëherë të disponueshme për përdorim. Një nga avantazhet e tjera të mëdha të Pip është se ai përdor një kartë SD, kështu që mund të përdoret si një kompjuter desktop gjithashtu kur është i lidhur me një monitor dhe maus.
Pajisja Pip do t'i ndihmonte fëmijët dhe rishtarët e interesuar të kodimit me entuziazëm për të mësuar dhe praktikuar kodimin. Duke ofruar një kombinim të përfundimit të detyrave dhe ndërlikimit për të zgjidhur problemet, pajisja me siguri do të angazhojë brezin e ri. Pajisja më pas i lejon këta kodues të rinj të kalojnë në nivele më të avancuara të kodimit në gjuhë të ndryshme si JavaScript dhe HTML/CSS. Meqenëse pajisja përsërit një tastierë lojrash, ajo do të tërheqë menjëherë vëmendjen e fëmijëve dhe do t'i angazhojë ata të mësojnë rreth kodimit që në moshë të re. Ai gjithashtu vjen me disa lojëra të ngarkuara paraprakisht për të mbajtur vëmendjen, të tilla si Pac-Man dhe Minecraft.

Inovacionet që do të vijnë

Inovacioni i ardhshëm varet kryesisht nga aftësia aktuale e një fëmije për të koduar dhe kuptimi i tyre i përgjithshëm i procesit. Ndërsa fëmijët mësojnë të kodojnë në moshë të re duke përdorur pajisje të tilla si Pip-i i ri, ata do të fitojnë aftësitë dhe njohuritë për të krijuar gjëra të mahnitshme në të ardhmen. Kjo mund të jetë prezantimi i lojërave apo aplikacioneve të reja apo edhe ideve që mund të vijnë në jetë për të ndihmuar me kërkimet dhe trajtimet mjekësore. Ka mundësi të pafundme. Meqenëse e ardhmja jonë do të kontrollohet nga softuerët dhe kompjuterët, fillimi i ri është mënyra më e mirë për të shkuar, kjo është arsyeja pse Pip i ri është i orientuar drejt turmës së re. Duke ofruar një pajisje konsole që mund të luajë lojëra ndërsa mëson aftësitë e kodimit, anëtarët e rinj të shoqërisë janë në rrugën e tyre të mirë për të qenë krijuesit e softuerit në të ardhmen që do të ndryshojë gjithë jetën tonë. Ky është vetëm fillimi, por është diçka që miliona fëmijë në mbarë botën kanë filluar ta mësojnë dhe ta zotërojnë. Me përdorimin e pajisjeve si Pip, mbulohen bazat e kodimit dhe fëmijët do të mësojnë shpejt gjuhët e ndryshme të kodimit që mund të çojnë në shtigje të mahnitshme ndërsa hyjnë në moshën madhore.

Imazhi i ngarkuar ruhet në një direktori të serverit dhe emri përkatës i imazhit futet në bazën e të dhënave. Por nëse doni të ngarkoni një imazh pa e ruajtur në server, mund të bëhet duke përdorur bazën e të dhënave MySQL. Nëse jeni të shqetësuar për hapësirën e serverit dhe keni nevojë të lironi hapësirë ​​në serverin tuaj, mundeni futni një skedar imazhi në bazën e të dhënave pa e ngarkuar atë në drejtori. Kjo procedurë ndihmon në optimizimin e hapësirës së serverit sepse përmbajtja e skedarit të imazhit ruhet në bazën e të dhënave dhe jo në server.

Në këtë tutorial, ne do t'ju tregojmë se si ta bëni ruajeni skedarin e imazhit në bazën e të dhënave MySQL dhe marrja e imazhit nga baza e të dhënave duke përdorur PHP. Është shumë e lehtë të ruash dhe të marrësh imazhe nga baza e të dhënave duke përdorur PHP dhe MySQL.

Fut skedarin e imazhit në MySQL

MySQL ka një lloj të dhënash BLOB (objekt i madh binar) që mund të mbajë një sasi të madhe të dhënash binare. Lloji i të dhënave BLOB është i përsosur për ruajtjen e të dhënave të imazhit. Në MySQL, katër lloje BLOB janë në dispozicion - TINYBLOB, BLOB, MEDIUMBLOB dhe LONGBLOB.

Për të ruajtur të dhënat e imazhit duhet të krijohet një tabelë në bazën e të dhënave. SQL e mëposhtme krijon tabelën e imazheve me fushën e llojit të të dhënave LONGBLOB në bazën e të dhënave MySQL.

KRIJO I TABELAVE `imazhe` (`id` int (11) NOT NULL AUTO_INCREMENT, `image` longblob NOT NULL , koha e krijuar` NOT NULL , ÇELËSI KRYESOR (`id` )) ENGINE= InnoDB CO DEFAULT CHARSET_ unicou= utf

Formulari i ngarkimit të imazhit

Formulari i mëposhtëm HTML i lejon përdoruesit të zgjedhin skedarin e imazhit për të ngarkuar.

Zgjidhni imazhin për të ngarkuar:

Ruani imazhin në bazën e të dhënave (upload.php)

Skedari upload.php përmban funksionalitetet e mëposhtme.

  • Kontrolloni nëse përdoruesi zgjedh një skedar imazhi për të ngarkuar.
  • Merrni përmbajtjen e skedarit të imazhit me emrin tmp_name.
  • Krijoni lidhjen me bazën e të dhënave MySQL dhe zgjidhni bazën e të dhënave.
  • Fusni përmbajtjen binare të figurës në tabelën e imazheve.
if(isset($_POST [ "dorëzo" ]))(
$check = getimagesize($_FILES[ "imazhi" ][ "tmp_name" ]);
nëse ($kontrolloni !== e rreme)(
$image = $_FILES [ "imazhi" ][ "tmp_name" ];
$imgContent = shton slashes (file_get_contents ($image)); /*
* Futni të dhënat e imazhit në bazën e të dhënave
*/

//Detajet e DB

$dbHost = "localhost" ;
$dbUsername = "rrënjë" ;
$dbFjalëkalimi = "*****" ;
$dbName = "codexworld" ;$db = mysqli i ri ($dbHost , $dbUsername , $dbPassword , $dbName );// Kontrollo lidhjen
if($db -> Connect_error )(
die("Lidhja dështoi: " . $db -> connect_error );
)$dataTime = data ("Y-m-d H:i:s" ); //Fut përmbajtjen e imazhit në bazën e të dhënave
$insert = $db -> pyetje ( "INSERT në imazhe (imazh, krijuar) VLERA ("$imgContent ", " $dataTime ")" );
if($insert)(
echo "Skedari u ngarkua me sukses." ;
) tjeter(
jehonë "Ngarkimi i skedarit dështoi, ju lutemi provoni përsëri.";
}
) tjeter(
jehonë "Ju lutemi zgjidhni një skedar imazhi për të ngarkuar.";
}
}
?>

Merr imazhin nga baza e të dhënave (view.php)

Në këtë skedar, ne do të marrim përmbajtjen e imazhit nga baza e të dhënave MySQL bazuar në ID dhe do të shfaqim në faqen e internetit. Për të dhënë skedarin e imazhit në faqen e internetit, Lloji i përmbajtjesështë përdorur header.

if(!empty($_GET [ "id" ]))(
//Detajet e DB
$dbHost = "localhost" ;
$dbUsername = "rrënjë" ;
$dbFjalëkalimi = "*****" ;
$dbName = " bota e kodit " ; //Krijoni lidhje dhe zgjidhni DB
$db = mysqli i ri ($dbHost, $dbUsername, $dbPassword, $dbName);//Kontrollo lidhjen
if($db -> Connect_error )(
die("Lidhja dështoi: " . $db -> connect_error );
} //Merrni të dhënat e imazhit nga baza e të dhënave
$rezultat = $db -> pyetje ( "ZGJIDH imazhin NGA imazhet WHERE id =( $_GET [ "id" ]) " );$rezultat -> num_rows > 0 )(
$imgData = $result -> fetch_assoc();//Render image
header ("Lloji i përmbajtjes: imazh/jpg");
echo $imgData [ "imazh" ];
) tjeter(
echo "Imazhi nuk u gjet..." ;
}
}
?>

Dëshironi të merrni ndihmë për zbatimin, ose të modifikoni ose zgjeroni funksionalitetin e këtij skripti?

Anëtarët mund të shtojnë ose përditësojnë fotografinë e tyre në llogarinë e tyre të anëtarësimit. Kjo njihet gjerësisht si fotografia e profilit. Ne do të mësojmë se si të shtojmë foto të profilit nga një anëtar.

Ky skript është pjesë e skriptit të menaxhimit të anëtarësimit, kështu që fotografia e profilit mund të shtohet ose përditësohet nga anëtari pas hyrjes. Këtu ka një tabelë anëtarësimi ku ruhen të gjitha detajet e anëtarit. Strukturën e tabelës së anëtarësimit mund ta shihni këtu.

Shikoni kolonën e fundit ku ruajmë emrin e skedarit.

Emri unik i skedarit

Çdo fotografi e profilit të anëtarit ruhet në një dosje të përbashkët, kështu që emrat e skedarëve duhet të jenë unikë. Çdo anëtar ka një ID unike të anëtarit dhe një ID të përdoruesit. Prandaj, ne do të ruajmë emrin e skedarit së bashku me ID-në e anëtarit. Për shembull, për id-në e përdoruesit plus2net, id-i i anëtarit është 4. Prandaj emri i skedarit do të jetë 4.jpg

Ju gjithashtu mund të shtoni userid në emrin e skedarit. si plus2net.jpg

Ku të ruani fotot e profilit.

Në rrënjën e skenarit ka një dosje foto profili. Këtu po ngarkojmë të gjitha imazhet dhe po ruajmë fotot e profilit. Nëse dëshironi të ndryshoni dosjen, atëherë mund të bëhet brenda zonës memadmin dy skedarë të ndryshëm të përdorur për ngarkimin e fotove.

Duhet të jepni leje shkrimi në këtë dosje për të aktivizuar ngarkimin e skedarit.

Si mund të shtojnë anëtarët foto të profilit

Pas hyrjes, anëtari mund të shkojë në zonën e memadmin duke thënë cilësimet. Nga zona memadmin ka dy lidhje, njëra është për të përditësuar profilin dhe një tjetër për të përditësuar ose shtuar foton e profilit.


Kur vizitoni faqen e fotografisë së profilit, faqja e vjetër e fotografisë së profilit, nëse është shtuar tashmë, do të shfaqet poshtë butonit të ngarkimit të fotografisë. Këtu përdoruesi mund të përdorë butonin e ngarkimit për të zgjedhur një foto të re profili nga kompjuteri i tij. Duke klikuar në zgjidhni skedarin përdoruesi i butonit mund të shfletojë skedarët lokal të kompjuterit dhe të zgjedhë një imazh të llojit jpg ose gif. Llojet e tjera të skedarit nuk lejohen.

Pasi të ngarkohet, shtesa e skedarit kontrollohet për imazhe të tipit gif ose jpg, përndryshe skedari fshihet.

Pas ngarkimit të skriptit kontrolloni dimensionet e imazhit dhe ato zvogëlohen proporcionalisht me madhësinë e kërkuar. $n_gjerësi=100; // Rregulloni gjerësinë e imazheve të thonjve të gishtit $n_height=100; // Rregulloni lartësinë e imazhit të thoit të gishtit të madh, për të cilat mund të lexoni më shumë këtu.

Pasi të përfundojë ndryshimi i madhësisë së imazheve, është koha për të përditësuar rekordin me emrin e ri të skedarit. Në tabelën tonë të anëtarëve ruajmë detajet e secilit anëtar. Për foton e profilit kemi një kolonë foto_profili. Ne do ta përditësojmë këtë kolonë me emrin e skedarit tonë të ri.

Ne do të marrim ID-në e anëtarit e cila është unike dhe është e pranishme si variabël sesioni për përditësimin e rekordit në klauzolën ku.

Këtu është kodi për përditësimin e rekordit me fotografinë pfile. Vini re se ne nuk e ruajmë foton në tabelë, por e ruajmë emrin e skedarit kundrejt regjistrimit të anëtarit. $sql=$dbo->prepare("update mem_signup set profile_photo=:profile_photo ku mem_id=$_SESSION and userid="$_SESSION""); $sql->bindParam(":profile_photo",$profile_emri_file,PDO::PARAM_STR, 199); if($sql->ekzekutoni())(echo "

"; jehonë" "; ) // Fundi i nëse profili është në rregull, other( print_r($sql->errorInfo()); $msg="
"; }

Si të kontrolloni skriptin ose të shtoni foto të profilit

Shkarkoni skriptin dhe instaloni skedarin e bazës së të dhënave. Brenda drejtorisë Memadmin ka dy skedarë, foto-profili.php & profil-foto.php.
Kjo është një pjesë e Skriptit të Menaxhimit të Anëtarësisë.

Pjesa e skenarit

Janë dy dosje, njëra është foto-profili.php dhe një tjetër është profil-foto.php.

foto-profili.php

Ky skedar tregon butonin e ngarkimit dhe trajton formularin. Këtu është kodi $profile_photo_path="../profile-photo/"; $count=$dbo->prepare("select profile_photo from mem_signup ku mem_id=:mem_id"); $count->bindParam(":mem_id",$_SESSION["mem_id"],PDO::PARAM_INT,1); if($count->ekzekutoni())( $row = $count->fetch(PDO::FETCH_OBJ); )else( print_r($dbo->errorInfo()); ) echo "
"; if(strlen($row->profile_photo) > 1)( // Shtegu ku do të ruhet imazhi i gozhdës së gishtit $tsrc=$profile_photo_path.$row->profile_photo; echo " "; } /////////////////////////////

profil-foto.php

Ky skedar ngarkon foton dhe vendosi në një direktori pasi ta ndryshoni madhësinë e saj. Këtu është kodi. $profile_photo_path="../profile-foto/"; // Për të shfaqur emrin e skedarit, emrin e tempullit dhe llojin e skedarit, //përdorni ato vetëm për testimin e skriptit tuaj////// //echo "Emri i skedarit: ".$_FILES["skedari i përdoruesit"]["emri"]. "
"; //echo "tmp emri: ".$_FILES["userfile"]["tmp_name"]."
"; //echo "Lloji i skedarit: ".$_FILES["userfile"]["type"]."
"; //echo"

"; ////////////////// // shtegu me emrin e skedarit ku do të ruhet skedari. $add=$profile_photo_path.$_FILES["userfile"][ "emri"];
Imazhi u ngarkua me sukses
"; chmod("$add",0777); )else(echo "
Ngarkimi i skedarit dështoi. Kontaktoni me administratorin e sajtit për të rregulluar problemin
"; @unlink($add); dil;) /////////////////////// nëse (!($_FILES["userfile"][" lloji "] =="image/jpeg" OSE $_FILES["userfile"]["type"]=="image/gif"))(echo "
Skedari juaj i ngarkuar duhet të jetë JPG ose GIF. Llojet e tjera të skedarëve nuk lejohen
"; shkëput ($add); dil;) ///////////////////////////////////////////////////////////////////////////////// ///// $n_width=100 // Rregullimi i gjerësisë së imazheve të thonjve të madh $n_height=100 // Fiksoni lartësinë e imazhit të thonjve të madh if($_FILES["userfile"]["type"] =; ="image/gif") ( $im=ImageCreateFromGIF($add); $width=ImageSx($im); // Gjerësia origjinale e figurës ruhet $height=ImageSy($im); // Lartësia origjinale e figurës ruhet $ newimage=imagecreatetruecolor($n_width,$n_height imageCopyResized($image $im,0,0,0,0,$n_width,$n_height,$width,$height $profile_name=$_SESSION"); .."gif"; // Shtegu ku do të ruhet imazhi i gozhdës së gishtit. $newimage,$tsrc) elseif (function_exists("imagejpeg")) (Header("Lloji i përmbajtjes: imazh/jpeg"); ImageJPEG($newimage,$tsrc); ) chmod("$tsrc",0777) )////////// fundi i krijimit të thonjve me gishtin e madh të skedarit gif///////////////////// fillimi i krijimit të thonjve me gishtin e madh JPG / ///////// if($_FILES["userfile"]["type"]=="image/jpeg")($im=ImageCreateFromJPEG($add); $width=ImageSx($im); // Gjerësia origjinale e figurës ruhet $height=ImageSy($im); // Lartësia origjinale e figurës ruhet $newimage=imagecreatetruecolor($n_width,$n_height); imageCopyResized($image i ri,$im,0,0,0,0,$n_gjerësi,$n_lartësi,$gjerësi,$lartësi); $profile_file_name=$_SESSION["mem_id"]..jpg"; // Shtegu ku do të ruhet imazhi i gozhdës së gishtit $tsrc=$profile_photo_path.$profile_file_name; ImageJpeg ($newimage,$tsrc); chmod ("$tsrc",0777); ) $sql=$dbo->prepare("update mem_signup set profile_photo=:profile_photo ku mem_id=$_SESSION and userid="$_SESSION""); $sql->bindParam(":profile_photo",$profile_emri_file,PDO::PARAM_STR, 199); if($sql->ekzekutoni())(echo "
Fotografia e profilit u përditësua me sukses
"; jehonë" "; ) // Fundi i nëse profili është në rregull, other( print_r($sql->errorInfo()); $msg="
Problem me bazën e të dhënave, ju lutemi kontaktoni administratorin e faqes
"; ) unlink ($add); echo $msg;

Ndryshuar për herë të fundit më 24 shkurt 2017 nga Vincy.

Ndërsa shfaqni imazhe për faqet tona të internetit, është e rëndësishme të siguroheni që ato të mund të vendosen brenda kufirit të paraqitjes sonë. Nëse jo, ne duhet të ndryshojmë madhësinë e këtyre imazheve, në përputhje me rrethanat. Në PHP, ndryshimi i madhësisë së një imazhi, mund të arrihet duke përdorur një grup funksionesh PHP për të krijuar një imazh të ri nga e para, me dimensionet e dhëna, në të cilin imazhi origjinal pritet të ndryshohet.

Pra, një kombinim i funksioneve të tilla përdoret për të marrë hapat e mëposhtëm, të cilët do të rezultojnë në ndryshim të suksesshëm të madhësisë së imazhit përmes programimit PHP.

  • Merrni ID-në e imazhit për imazhin burimor.
  • Merrni ID-në e burimit për shtresën e imazhit të synuar.
  • Ndryshimi i madhësisë dhe rimontimi.
  • Ruani imazhin e ndryshuar në madhësi në vendndodhjen e caktuar të synuar.

Merrni ID-në e burimit të imazhit për imazhin burimor

Për të punuar në skedarin e imazhit të dhënë për t'u ndryshuar përmasat, ne duhet të marrim identifikuesin e burimit për referencë, siç kemi bërë gjatë marrjes së burimit të skedarit, ose të ngjashme, duke marrë dorezën e drejtorisë për të kryer .

Në PHP, ka funksione të ndryshme për të marrë një ID të burimit të skedarit të imazhit. Këto funksione përdoren në mënyrë të përshtatshme bazuar në llojin e imazhit të dhënë për ndryshimin e madhësisë. Për shembull, imagecreatefromjpeg(), imagecreatefromgif(), imagecreatefrompng (), përdoret për të marrë identifikuesin e burimit për imazhet JPEG, GIF dhe PNG.

Në këtë hap, së pari, duhet të marrim llojin e imazhit duke përdorur funksionin PHP getimagesize (), i cili përdoret për marrjen e një liste të tërë të vetive të imazhit, duke përfshirë gjerësinë, lartësinë etj. Pas kësaj, ne mund të aplikojmë një funksion të përshtatshëm për të marrë ID-në e burimit. Të gjitha këto funksione PHP të përdorura për të marrë vetitë e imazhit dhe për të marrë të dhënat e burimit të skedarit të imazhit presin emrin ose shtegun e skedarit të imazhit. Për shembull,

$file = "christmas.jpg"; $source_properties = getimagesize($file); $image_type = $burim_properties; if($image_type == IMAGETYPE_JPEG) ($image_resource_id = imagecreatefromjpeg($file); ) elseif($image_type == IMAGETYPE_GIF) ( $image_resource_id = imagecreatefromgif ($file); ) otherif($image_type =$PE_IMAGE) imagecreatefrompng ($file);

Të përdorura në deklaratat e kushtëzuara janë të paracaktuara me vlerën e duhur të numrit të plotë që tregon llojin e imazhit. Për shembull, IMAGETYPE_JPEG definuar me vlerën 2 e cila përdoret për të treguar imazhin JPEG.

Merrni ID-në e burimit për shtresën e imazhit të synuar

Pas marrjes së ID-së së burimit të referencës nga skedari i imazhit burim, ne duhet të krijojmë një imazh të ri si një shtresë synuese. Ky imazh do të krijohet me përmasat me atë që pritet të ndryshohet përmasat e imazhit origjinal.

Funksioni i integruar i PHP, i quajtur si, imagecreatetruecolor() përdoret për këtë qëllim, duke pranuar dimensionet e kërkuara, domethënë gjerësinë dhe lartësinë e imazhit të synuar. Për shembull,

$target_width =200; $target_lartësia =200; $target_layer=imagecreatetruecolor($target_width,$target_height);

imagecreatetruecolor() funksioni do të krijojë imazh bosh. Shtuar kësaj, ai do të kthejë identifikuesin e të dhënave të burimit si një referencë për imazhin e krijuar rishtazi me parametrin e specifikuar të gjerësisë dhe lartësisë. Kjo referencë do të përdoret në hapat e mëpasshëm, për të përmendur objektivin, në krye të të cilit do të montohet imazhi i ndryshuar përmasat.

Ndryshimi i madhësisë dhe rimontimi

Për këtë hap, ne duhet të ofrojmë një listë detajesh rreth burimit dhe imazhit të synuar, që përdoren në procesin e ndryshimit të madhësisë së imazhit. Këto janë,

  • ID-ja e burimit të shtresës së burimit dhe objektivit
  • Dimensionet për të treguar gjerësinë dhe lartësinë e figurës origjinale dhe shtresës së imazhit të synuar.

Duke përdorur këto detaje të dhëna, pjesa e kërkuar e imazhit origjinal do të kopjohet dhe rimontohet në shtresën e synuar. Për këtë, funksioni PHP, i quajtur si, imagecopyresampled() për një proces të tillë ndryshimi dhe rimontimi. Për shembull,

Imagecopyresampled ($target_layer,$image_resource_id,0,0,0,0,$target_width,$target_height, $source_properties,$source_properties);

Në këtë mostër kodi, të paraqitur më sipër, disa nga argumentet e këtij funksioni kalohen me vlerë 0. Këto argumente, në fakt, përfaqësojnë koordinatat x, y të imazhit të objektivit dhe burimit, përkatësisht.

Këto argumente do të përmbajnë vlera për prerjen e një pjese të imazhit burimor. Përndryshe, nuk ka nevojë të përmenden pikat x, y, që do të thotë se i gjithë imazhi do të pritet për të ruajtur pamjen e tij ashtu siç është përveç dimensioneve të tij.

Shënim: Ekziston një funksion ekuivalent PHP imagecopyresized () si si si imagecopyresampled(), ndërsa, imagecopyresampled() funksioni krijon imazhin e ndryshuar përmasat me më shumë cilësi, krahasuar.

Ruani imazhin e ndryshuar në madhësi në vendndodhjen e synuar

Më në fund, është koha për të ruajtur imazhin e ndryshuar në madhësi në vendndodhjen e synuar. Për këtë, ne duhet të specifikojmë detajet e mëposhtme.

  • ID-ja e burimit të shtresës së imazhit të ndryshuar përmasat.
  • Synoni emrin ose vendndodhjen e imazhit.

Tani, ne mund të përdorim mostrën e kodit të treguar më poshtë për të ruajtur shtresën e imazhit të ndryshuar përmasat.

Imagejpeg($target_layer,"christmas_thump.jpg");

Shembulli i kodit i treguar në çdo hap është i zbatueshëm vetëm për imazhin JPEG. Ne mund të përsërisim të njëjtën gjë për llojet e tjera të imazheve duke përdorur funksionet e duhura PHP.

Shembull: Ndryshimi i madhësisë së imazhit PHP

Ky shembull tregon se si të ndryshoni madhësinë e çdo lloj skedari imazhi të ngarkuar nga një formë HTML. Pra, skripti PHP i paraqitur më poshtë trajton skedarin e imazhit të ngarkuar që do të ndryshohet.

Dhe kodi HTML që përfshin kontejnerin e formularit për të ngarkuar skedarin e imazhit është,



Ju pëlqeu artikulli? Ndani me miqtë tuaj!