Moro,
Katselin tuolta koodivinkeistä kuvagalleriantekoa (https://www.ohjelmointiputka.net/koodivinkit/23929-php-kuvagalleria) ja olen nyt muokkaamassa kyseistä galleriaa omille sivuille sopivaksi. Kysyisin paria kohtaa.
Koodi on nyt "toiminnassa" osoitteessa: http://kokko.web.cern.ch/kokko/versio2/php/gallery.php
Miten saan nuo hakemistopolut poistettua näkyvistä niin, että jäljelle jää vain vuosiluvut? Juuri huomasin, että noiden vuosilukujen alla pitäisi olla alikansioita, niitä ei jostain syystä näy. Ne olisi hyvä näkyä. Siitä varmaan johtuu sekin että skripti ilmoittaa ettei hakemistoa löydy.
Tuossa alla vielä liitteenä palanen skriptiä:
<?php include "../header.htm"; ?> <?php include "asetukset.php"; ?> <?php echo "<style type=\"text/css\">"; if (isset($t_wid)) echo "img { width: {$t_wid}px; }\n"; else if (isset($t_hei)) echo "img { height: {$t_hei}px; }\n"; echo "</style>"; ?> <h1>Gallery</h1> <?php // ellei hakemistoa ole annettu, niin listataan mahdollisuudet if (!isset($_GET["d"])) { echo "<p>Valitse hakemisto:</p>\n<ul>\n"; $hakit = glob("../image/orig/*", GLOB_ONLYDIR); foreach ($hakit as $hak) echo "\t<li><a href=\"?d=$hak\">$hak</a></li>\n"; echo "</ul>\n"; ?> <?php include "../footer.htm"; ?> <?php die(); } ?> <?php include "../footer.htm"; ?> <?php $hak = $_GET["d"]; // hakemisto olemassa ja oikeassa paikassa if (!is_dir($hak) || dirname($hak) != "." || realpath($hak) == realpath(".") || $hak == "..") die("<p>Annettua hakemistoa ei loydy!</p>"); echo "<h2>$hak</h2>\n";
Mod. edit: kooditagit
En ole varma nyt tähän hätään, mutta basename taisi kertoa alimman osan hakemistosta suoraan:
echo "\t<li><a href=\"?d=$hak\">".basename($hak)."</a></li>\n";
Vuosiluvun voinee olettaa aina olevan neljä merkkiä, joten tulostaessa (echo "\t<li><a href=\"?d=$hak\">$hak</a></li>\n";) ottaa tuon koko $hakin sijaan neljä viimeistä merkkiä (https://www.ohjelmointiputka.net/hak/?kieli=PHP&nimi=substr)
Kiitoksia, näyttää toimivan tuo basename-funktio. Tuokin on kiinnostava huomio tuo vuosiluku-kikka.
Olisko kertoa vinkkiä miten saan jostakin php-skriptistä vietyä muuttujan arvon johonkin toiseen skriptiin?
Sitten tuli toinen mielenkiintoinen ongelma:
http://kokko.web.cern.ch/kokko/versio2/php/
Mihin se hukkaa headerin stylesheetin kun includoin header.php:n tuohon gallery.php:hen?
CSS-tiedosto sijaitsee yhtä kansiota ylempänä ja CSS-kansiossa jos vertaa tähän header.php tiedostoon. Onko tuo polkumäärittely ihan oikein?
<link rel="stylesheet" media="all" type="text/css" href="../css/stylesheetmain.css"/>
EterAnal kirjoitti:
CSS-tiedosto sijaitsee yhtä kansiota ylempänä ja CSS-kansiossa jos vertaa tähän header.php tiedostoon.
Selain vaan kun ei vertaa sitä header.php:n, selain ei edes tiedä mokoman olemassaolosta.
EterAnal kirjoitti:
Onko tuo polkumäärittely ihan oikein?
Ei, pitää mennä yksi ylemmäksi. Kaikki polut ovat suhteellisia siihen dokumenttiin, johon ne liitetään.
Aihe on jo aika vanha, joten et voi enää vastata siihen.