Gå til innhold

Vise to forskjellig bilder gjennom samme url


Anbefalte innlegg

hei, lurer på om det er mulig å vise to forskjellige bilder gjennom samme url, på en måte. (elendig forklart), men vil ha det sånn at nå ser du feks. bildet her på sida og når du høyre klikker på det for velger "view image" så får du vist samme bilde. Er det mulig å forandre på dette? Sånn at når du velger å "view image" så blir du vist et annet bilde? (Tanken er ikke å 'beskytte' bildene, men å sende html kode med bildet når folk velger å se bildet inviduelt).

 

Jeg har et php script som henter bildene og har prøvd med $_SERVER["REQUEST_URI"], men fant ut at når du ser bildet på sida er faktisk $_SERVER["REQUEST_URI"] til scriptet som henter bildet linken til bildet. Er det en måte å å skille mellom disse to? sessions vil heller ikke fungere.

Lenke til kommentar
Videoannonse
Annonse

hmm. problemet nå er at når noen linker (href) til et bilde så vil html koden bli tatt med, men hvis noen vil vise bildet på et forum blir html koden også tatt med og da blir ting ikke riktig...

 

det jeg vil er at når bildet vises på en side blir bare bildet vist, men når man går inn på bildet og viser det inviduelt blir html kode tatt med, derfor funker ikke å bare sjekke om refererer er satt eller ikke for at hvis noen linker til bildet er det en referer, og ting bare krangler med hverandre.... :)

 

hmm. må finnes en måte for bildet å finne ut om den er på en side eller ikke...

Lenke til kommentar
Gjest Slettet+6132
*snip*

5799918[/snapback]

 

En løsning ville jo vært å ha to bilder; det bildet du vil vise pluss et "bilde" med høyde og bredde lik 0px. Hvis ikke "bildet" blir lastet printes HTMLen ut (altså om bildet vises for seg selv), blir "bildet" lastet får personen også sett bildet. Noen andre løsninger kan jeg ikke se, annet enn referer (som heller ikke er helt til å stole på). Men hva er meningen med dette? Bildet vil jo kunne kopieres uansett, ser liksom ikke hva du vil frem til :p

Lenke til kommentar
Gjest Slettet+6132
Du kan sjekke om md5_file(basename(__FILE__)) == md5_file(basename($_SERVER['PHP_SELF'])).

5800339[/snapback]

 

Filnavnet til bildet er akkurat det samme om du viser bilde fra en remote side eller en lokal side da...

Lenke til kommentar

tingen er at jeg er så inn i små detaljer. Liksom, hvor kult hadde det ikke vært om du høyreklikker for å se bildet og blir istedet vist en side med all info om bildet og bildet i seg selv? samtidig som at det går an å kopiere bildet og lagre bildet osv. Også er det noe med at dette ikke har vært gjort før, så er liksom noe som må gjøres for å vise at det går... :)

 

men det overrasket meg at det var samme request url som når bildet ble vist på sida som når den blir vist inviduelt... det finnes altså ikke noen måte for bildet å finne ut om han er på en side eller alene? (høyre hjerne-del funker ikke idag...)

Lenke til kommentar

Her er et lite forslag (ikke testet):

<?php
$thisPage = "http://www.minside.no/bilder/index.php";
$bilde = $_GET['bilde'];
$explode = explode(".", $bilde);
$extension = $explode[count($explode) - 1];
$location = "Location: {$thisPage}?bilde={$bilde}&info=true";
if ($_GET['info'] == "true") {
// Here goes info
exit;
}
header("Content-Type: image/{$extension}");
header($location);
include($bilde);
?>

 

EDIT: Nå, da?

Endret av Judofyr
Lenke til kommentar
Gjest Slettet+6132
Hmm... Nå er jeg helt blank... Skrik ut hvis noen kommer på en god idé :)

5801535[/snapback]

 

Slik du ahr tenkt vil det ikke gå uansett, bildeurlen er og blir den samme enten du ser fila direkte eller du ser den fra en annen webside. Må nok til med referer-sjekking eller gjøre noe lignende det eksempelet jeg ga over.

Lenke til kommentar
uansett, er det lov å sende en header etter at bildet blir vist?

5801000[/snapback]

 

Headere er kun lov å sende så lenge ikke noe html kode er vist. Hvis jeg ikke tar helt feil.

5804879[/snapback]

HTTP-headere blir sendt før alla annen kode, og brukes for at tjener og klient skal bli enige om hvordan ting fungere. Å brgynne å sende headere etter at annen kode er sendt (være seg bilder, HTML, CSS+++), vil du ende opp med noe alla politikerenes løftebrudd. Sier en ting, ombestemmer seg rett etterpå.

Grunne til dette er ikke en svakhet i PHP, men hvordan HTTP-protokollen er bygget opp. Dette står klart og tydelig i PHP-manualen under funksjonen header() hvis noen vil ha det bekreftet på noen som helst måte. (jeg mener vertfall det skal stå der)

Lenke til kommentar
men det overrasket meg at det var samme request url som når bildet ble vist på sida som når den blir vist inviduelt... det finnes altså ikke noen måte for bildet å finne ut om han er på en side eller alene? (høyre hjerne-del funker ikke idag...)

5800718[/snapback]

 

Så rar er det ikke. Først henter browseren ned siden, den går gjenneom den også finner den feks src="img/bilde.jpg" også henter den ned det også. Bildet blir aldri sendt sammen med informasjonen på siden, det må hentes ned for seg selv.

 

Eneste måte jeg klarte å fikse det på var den som jeg nevnt over. Men ikke helt perfekt den heler :)

Lenke til kommentar

hmm, glemt å svare til deg ser jeg.

 

men har du gjort sånn at først viser du bildet, andre gangne viser du bilde med text? det virker sånn, men det funker ikke helt i Opera, kan være pga cache systemet.

 

uansett, mange gode ideer her!

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...