Kuvien lukumäärän laskuri?

Oletetaan, että nettisivu sisältää seuraavat koodinpätkät:

Kuvia variksista





Millainen php-skripti osaisi laskea sivulla olevien kuvien määrän? Eli esim. otsikkosivulla "Linnut" on linkki sivulle "kuvia variksista" ja linkin viereen tulostuisi teksti "3 kuvaa".
4236
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

$kuvasivunsisalto = file_get_contents("sivu.html");

$kuvienmaara = substr_count($kuvasivunsisalto, '

Äänestä
  • Kiitos avusta, yritän noista saada jotain aikaan, mutta ensin pitää miettiä toista ongelmaa.

    Äsken selitin hieman vajaasti systeemini toimintaa. Eli sivusto jakaantuu osioihin ja sivuihin tähän tyyliin:

    www.sivunosoite.com/index.php?osio=linnut&sivu=varis

    Sivuilla on eri määrä kuvia, joillakin vain 1, toisilla jopa 10, sivut on nimetty lajin mukaan eli tyyliin varis.php, harakka.php, talitiainen.php. Kuvat on nimetty samalla tavalla kuin sivu, eli varis1.jpg, varis2.jpg, varis3.jpg.

    Tavoite on, että skripti tulostaa sivulle "varis" kaikki varis-alkuiset kuvat. Olen vääntänyt tällaisen systeemin, mutta se on todella kankea:

    if (file_exists($osio."/".$sivu.".php")) {
    include($osio."/".$sivu.".php");
    } else {
    echo("ERROR! Sivua ei löytynyt.");
    }

    if (file_exists("kuvat"/".$sivu.".jpg")) {

    echo(' }
    else {
    echo('');
    }

    if (file_exists("kuvat"/".$sivu."2.jpg")) {

    echo(' }
    else {
    echo('');
    }

    if (file_exists("kuvat"/".$sivu."3.jpg")) {

    echo(' }
    else {
    echo('');
    }

    Eli noita if-lauseita pitää toistaa niin kauan, että maksimikuvamäärä tulee täyteen. Onko jokin tapa etsiä yhdellä lauseella kaikki kuvat, joiden nimi alkaa sivunnimellä (eli esim. kaikki varis-alkuiset kuvat), kun kuvien lukumäärää ei tavallaan tiedetä?

    Äänestä

  • PHP-novi kirjoitti:

    Kiitos avusta, yritän noista saada jotain aikaan, mutta ensin pitää miettiä toista ongelmaa.

    Äsken selitin hieman vajaasti systeemini toimintaa. Eli sivusto jakaantuu osioihin ja sivuihin tähän tyyliin:

    www.sivunosoite.com/index.php?osio=linnut&sivu=varis

    Sivuilla on eri määrä kuvia, joillakin vain 1, toisilla jopa 10, sivut on nimetty lajin mukaan eli tyyliin varis.php, harakka.php, talitiainen.php. Kuvat on nimetty samalla tavalla kuin sivu, eli varis1.jpg, varis2.jpg, varis3.jpg.

    Tavoite on, että skripti tulostaa sivulle "varis" kaikki varis-alkuiset kuvat. Olen vääntänyt tällaisen systeemin, mutta se on todella kankea:

    if (file_exists($osio."/".$sivu.".php")) {
    include($osio."/".$sivu.".php");
    } else {
    echo("ERROR! Sivua ei löytynyt.");
    }

    if (file_exists("kuvat"/".$sivu.".jpg")) {

    echo(' }
    else {
    echo('');
    }

    if (file_exists("kuvat"/".$sivu."2.jpg")) {

    echo(' }
    else {
    echo('');
    }

    if (file_exists("kuvat"/".$sivu."3.jpg")) {

    echo(' }
    else {
    echo('');
    }

    Eli noita if-lauseita pitää toistaa niin kauan, että maksimikuvamäärä tulee täyteen. Onko jokin tapa etsiä yhdellä lauseella kaikki kuvat, joiden nimi alkaa sivunnimellä (eli esim. kaikki varis-alkuiset kuvat), kun kuvien lukumäärää ei tavallaan tiedetä?

    No joitain tuollaista voisi tietty käyttää:

    chdir("kuvat");
    $kuvat = glob($sivu . '*.jpg');

    Tuo siis hakisi arrayn sisälle varis*.jpg:t, eli:

    $kuvat[0] = "varis.jpg";
    $kuvat[1] = "varis2.jpg";
    $kuvat[2] = "varistekeejotain.jpg";


    Ja sitten tuollainen edellisen viestini tapainen silmukka pitäisi toimia.

    Äänestä

  • php-miys. kirjoitti:

    No joitain tuollaista voisi tietty käyttää:

    chdir("kuvat");
    $kuvat = glob($sivu . '*.jpg');

    Tuo siis hakisi arrayn sisälle varis*.jpg:t, eli:

    $kuvat[0] = "varis.jpg";
    $kuvat[1] = "varis2.jpg";
    $kuvat[2] = "varistekeejotain.jpg";


    Ja sitten tuollainen edellisen viestini tapainen silmukka pitäisi toimia.

    Juuri tuollaista tarkoitin, en vain osannut tehdä. Ei oikein ole vielä hallussa kaikki php:n mahdollisuudet.

    Suuret kiitokset avusta!

    Äänestä

Kommentoi aloitusta


PHP-novi kirjoitti:

Oletetaan, että nettisivu sisältää seuraavat koodinpätkät:

Kuvia variksista





Millainen php-skripti osaisi laskea sivulla olevien kuvien määrän? Eli esim. otsikkosivulla "Linnut" on linkki sivulle "kuvia variksista" ja linkin viereen tulostuisi teksti "3 kuvaa".

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu