6 tammikuun, 2022

luo dynaaminen kuvagalleria PHP: llä kolmessa vaiheessa

jos sinulla on digikamera, sinulla on todennäköisesti myös digivalokuvagalleria ikimuistoisista hetkistä. Ja jos sinulla on digitaalinen valokuvagalleria, olet lähes varma, että olet törmännyt hyvin yleinen ongelma: organizingyour valokuvat niin, että ne voidaan helposti etsiä ja indeksoida.

tätä et ehkä tiedä, mutta useimmat digitaalikamerat upottavat automaattisesti luomiensa kuvien otsakkeisiin kuvamateriaalia. Nämä otsakkeet, joita kutsutaan Exif-Otsakkeiksi(EXchangeable Image File), sisältävät tietoja kameran merkistä ja mallista, valokuvan ottoajasta ja päiväyksestä, valokuvan teknisistä eritelmistä (suljinnopeus, aukko ja niin edelleen) sekä kuvan pikkukuvasta. Lisäksi, monet image editors voit täydentää näitä automaattisesti luotuja otsikoita kuvailevalla tekstillä – esimerkiksi ”Sally’ s first footballgame ”tai”Getting drunk in Malta”.

I ’m been you’ m been see where I ’ m gonna going with this. Hieman mielikuvitusta ja luovaa ajattelua, se on mahdollista käyttää otsikoita luoma your camera (Ja, jos sinulla on aikaa ja motivaatiota, edelleen täydentää sinua)Automaattisesti järjestää ja kuvata kuvakokoelma. Tämä artikkeli näyttää, miten, käyttämällä PHP: nexif toimintoja.

Vaihe 1: Varmista, että PHP-versiosi tukee EXIF

jotta voit lukea EXIF-otsikot, PHP-versiosi täytyy sisältää tuki Exif-Modulelle. Voit tarkistaa, onko tämä tuki käytössä luomalla PHP-komentosarjan, joka sisältää listauksessa a esitetyn koodin.

Listaus A

<?php
phpinfo ();
?>

Tarkastele tämän komentosarjan ulostuloa selaimessasi ja tarkista laajennusten luettelo nähdäksesi, onko EXIF mukana. Jos on, siirry seuraavaan vaiheeseen. Jos ei, sinun on aktivoitava PHP: n EXIF-toiminnot, eitherby un-commenting the extension line in php.ini (Windows) orrecompiling your PHP build with the –enable-exif argument (UNIX). Lisätietoa tästä on saatavilla PHP: n verkkosivuilta.

Vaihe 2: Siirrä kuvasi yhteen hakemistoon

seuraavaksi, kerää kaikki kuvasi yhteen hakemistoon Web server documentroot-palvelimen alle. Tämä on myös hyvä aika lisätä omia kuvailevia kommentteja kuhunkin kuvaan (vaikka tämä ei ole välttämätöntä). Useita hyviä shareware-ja freewaretyökaluja on saatavilla auttamaan sinua tässä; tutustu Exifer for Windowsiin tai Robophotoon.

Vaihe 3: Kirjoita koodi kuvien otsikoiden ja kommenttien lukemiseen

lopullinen vaihe on kirjoittaa PHP-skriptit, jotka poimivat EXIF-tiedot yourimageista ja luovat automaattisesti verkkosivun, jossa on näytekuvia, teknisiä tietoja ja linkkejä kunkin kuvan suurempiin versioihin. Tässä on kaksi käsikirjoitusta: ensimmäinen, Galleria.php, (Katso listaus B) etsii kuvia ja otteita EXIF otsikot niistä, kun taas toinen, thumbnail.php, (Katso listaus C) on vastuussa pikkukuvan poistamisesta jokaisesta valokuvasta.

listaus B-tässä gallerian koodi.php

<html>
<head></head>
<body>
<table>
<?php
/ / define directory path
$dir = ”.”;
/ / iterate through files
/ / look for JPEG
if (is_dir($dir)) {
if ($DH = opendir($dir)) {
while (($file = readdir($dh)) != = false) {
if (preg_match (”/.jpg/”, $file)) {
// read EXIF headers
$exif = exif_read_data($file, 0, true);
echo ”<tr>”;
// get thumbnail
/ / link to full image
echo ”<td valign=top><a href=$dir / $file><imgsrc=thumbnail.php?file = $file>< / a><td>”;
echo ” <td valign = top> <font size=-1>”;
// get file name
echo ” File: <b>”. $exif . ”< / b> < br/>”;
// get timestamp
echo ”Timestamp:”. $exif . ”< br/>”;
// get image dimensions
echo ”Dimensions:”. $exif . ”x”). $exif . ”< br/>”;
// Hanki kameran merkki ja malli
kaiku ” kamera:”. exif;
echo ” < / font>< / td>”;
echo ” < / tr>”;
}
}
closedir ($dh);
}
}
?>
</taulukko>
</elin>
</html>

Thisscript käyttää PHP: n hakemistofunktioita hakemiston kaikkien JPEG-kuvien alistamiseen ja käyttää sitten exif_read_data () – funktiota lukeakseen jokaisen kuvan EXIF-otsikot anarraynä. Jokainen kuva näytetään pienoiskuvana käyttäen pienoiskuvan antamia tietoja.php, ja jokainen tumbnail on itse hyperlinkki sen vanhempi kuva. Olennaiset tiedot-kuvanimi, mitat, aikaleima ja kameran malli—poimitaan näistä otsikoista ja näytetään jokaisen pikkukuvan kanssa.

jos käytit EXIF-muokkainta lisätäksesi omia kommenttejasi kuviin, pääset käsiksi asianmukaisiin array-elementteihin, jotta voit hakea ja näyttää myös nämä tiedot. Katso sisään $exif array print_r ($exif) selvittää array polku mukautettuja metatietoja.

Huomautus: eri kameravalmistajat käyttävät EXIF-otsikoita eri tavoin. Jos yllä olevan komentosarjan ulostulo näyttää puuttuvan joistakin tiedoista, sinun pitäisi katsoa $exif-ryhmän sisään print_r-ohjelmalla ($exif) selvittääksesi tarkasti, miten kamerasi kirjoittaa EXIF-tiedot, ja tehdä asianmukaiset mukautukset yllä olevan komentosarjan (ListingB) ryhmänäppäimiin.

listaus C – ja tässä pikkukuvan koodi.php

<?php
/ / define directory path
$dir = ”.”;
$image = exif_thumbnail($dir . ”/” . $_GET);
header(”Content-Type: image/jpeg”);
echo $image;
?>

tämä kirjoitus on hyvin yksinkertainen—se hakee Kuvatiedoston nimen URL-osoitteesta ja käyttää exif_thumbnail () – funktiota, jolla poistetaan näytekuva nimetystä kuvasta. Tämä näytekuva lähetetään sitten thebrowseriin yhdessä sopivan otsikon kanssa näytettäväksi.

sijoita nämä skriptit hakemistoon, joka sisältää kuvasi, ja käytä sitten web-selainta päästäksesi galleriaan.php. Sinun pitäisi nähdä hakemistossa olevat kuvien pikkukuvat sekä kuvaileva tieto kustakin.Pienoiskuvan napsauttamisen pitäisi viedä suuremman vanhemman kuvan luo.

Kuva A on esimerkki siitä, miltä tuloste saattaa näyttää:


Kuva A

esimerkki kuvakaappaus

and there you have it-automaattisesti luotu kuvagalleria! Kun kopioit uusia kuvia kansioon, ne näkyvät automaattisesti gallerialistauksessa.Eikö olekin siistiä?

Huom.: Voitplace skriptit luotu vaiheessa 3 eri hakemistoon, joka sisältää valokuvia, niin kauan kuin You Remember päivittää $dirvariable yläosassa kunkin script oikea polku photocollection.

Vastaa

Sähköpostiosoitettasi ei julkaista.