Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tiedostojen nimet linkkeinä

jukuri [01.11.2005 19:30:55]

#

Tarkoitukseni on tehdä seuraavaa:
Käyttäjä painaa web sivulla nappia jolloin hänelle avautuu uusi sivu jossa on lueteltu tietyssä hakemistossa olevat tiedostot(nimet) linkkeinä. Ja kun käyttäjä napauttaa ko tiedoston nimeä niin hänelle avautuu sivu johon avataan ko tiedoston sisältö.

Nyt en tiedä miten lähetetään tällaisessa tapauksessa tiedoston nimi (uudelle sivulle) siten että sitä voi lukea esim $_GET:llä ? Vai miten se oikein tehdään, niinkuin periaate? Kaikenlainen tieto auttaisi aloittelijaa...

kasetti [01.11.2005 19:58:09]

#

Eikös tuon voi tehdä niin että on tiedostolista esim. PHP:n globilla ja kaikki tiedostot listautuvat linkkeinä, joissa target on blank (uuteen ikkunaan) esimerkki: http://www.kasetti.info/koodivinkit.php?koodi=27

jukuri [01.11.2005 21:25:21]

#

Joo mutta kun mun pitäisi siis avata kyseinen (data)tiedosto ja tehdä sille temppuja eli näyttää sen sisältöä.

<?php
//Avaa tiedosto jonka nimeä klikkasit
//Tulosta jne
?>

Eli onko keinoa välittää tiedoston nimi esim linkin mukana?

kasetti [01.11.2005 21:52:05]

#

jukuri kirjoitti:

Eli onko keinoa välittää tiedoston nimi esim linkin mukana?

On, mutta parempi tapa mielestäni on edelleen käyttää globia hyväksi. sen mukaan aukaistaan/liitetään joku tiedosto (tässä tapauksessa kuva). esimerkki: http://kasetti.info/koodivinkit.php?koodi=27

exAtuu [02.11.2005 00:12:17]

#

kasetti ei ilmeisesti tajunnut mistä puhutaan. jukuri, voit kyllä välittää dataa linkin mukana, ja se hoidetaan tyyliin tämä:

Linkki: tiedosto.php?muuttuja=arvo&muuttuja2=arvo2&muuttuja3=arvo3 jne.

Nyt tiedosto.php:ssä voidaan käsitellä arvoja seuraavasti:

echo $_GET['muuttuja']; //tulostaa "arvo"
echo $_GET['muuttuja2']; //"arvo2"
echo $_GET['muuttuja3']; //"arvo3"

Suosittelen kyllä lukasemaan myös jonkin PHP-perusoppaan.

LISÄYS:

Globia hyväksikäyttäen saataisiin seuraavanlainen sivu tehtyä. Tietoturva-asioista on nyt turha motkottaa, tämä on pikaesimerkki ;)

<?php
if (isset($_GET['file'])) {
  //taikatemput tähän
}

else {
  foreach (glob('hakemisto/*') as $file) {
    echo "<a href=\"{$_SERVER['PHP_SELF']}?file={$file}\">{$file}</a><br />\n";
  }
}
?>

jukuri [02.11.2005 08:27:37]

#

kiitoksia vastauksista, olen nyt "väärällä" koneella....illalla kokeillaan taas

kasetti [02.11.2005 08:52:55]

#

MasaVista kirjoitti:

kasetti ei ilmeisesti tajunnut mistä puhutaan.

Masavista: Et ilmeisesti katsonut tuota esimerkkikoodiani? Siinä tuo tietoturva oli huomioitu, eli tiedostoihin viitataan numerona (esim.php?filu=1), ei suorilla tiedostonimillä (kuten omassa esimerkissäsi).

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta