Avatar billede sukos Juniormester
21. marts 2004 - 18:17 Der er 25 kommentarer og
1 løsning

Erstat billedefil med en html fil

Hvordan gør jeg det med mod_rewrite i httpd.conf i en vhost?
Avatar billede sukos Juniormester
21. marts 2004 - 18:19 #1
Alle billeder er en jpg fil, og skal vises i den samme "html-skabelonen" hvis filen er blevet requested?
Avatar billede htm Nybegynder
26. marts 2004 - 23:03 #2
Måske sådan her?

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}  \.jpg$ [OR]
RewriteCond %{HTTP_REFERER} ^domain.dk$
RewriteRule ^(.*)$  billede.php?billede=$1

Du ved sikkert hvad http_referer skal være :-) Den sikrer at du kan læse dem fra dit eget script. Du kan også undlade den og læse billedet vha. php...
Avatar billede sukos Juniormester
27. marts 2004 - 15:38 #3
Hvor bliver svaret af? :O)
Avatar billede htm Nybegynder
27. marts 2004 - 15:39 #4
Jamen virker det? :-)
Avatar billede sukos Juniormester
27. marts 2004 - 15:53 #5
Nemmerlig! (eller ja og nej!)

Altså, et jpg billede requestes direkte.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}  \.jpg$ [OR]
RewriteCond %{HTTP_REFERER} ^127.0.0.25$
RewriteRule ^(.*)$  test.php?billede=$1

Og $_SERVER["REQUEST_URI"] fortæller hvilken  fil og dir jeg skal ha' fat i!!! :O)

Men bruger jeg,

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}  \.jpg$ [OR]
RewriteCond %{HTTP_REFERER} ^http://exp.showsource.dk/$
RewriteRule ^(.*)$  test.php?billede=$1

virker det også?
Avatar billede sukos Juniormester
27. marts 2004 - 15:54 #6
Eller blot
exp.showsource.dk$
Avatar billede sukos Juniormester
27. marts 2004 - 15:55 #7
Men uden HTTP_REFERER får jeg fejl!
Avatar billede sukos Juniormester
27. marts 2004 - 15:56 #8
Men det er faktisk knapt så vigtigt! :O)
Men bare jeg kan hente info for request, så er jeg glad!!! :O)
Avatar billede htm Nybegynder
27. marts 2004 - 15:58 #9
Uden HTTP_REFERER vil den melde fejl, da du selv forsøger at requeste den.

Du skal være sikker på at din referer er exp.showsourece.dk - du skal nok bruge

RewriteCond %{HTTP_REFERER} ^http://exp.showsource.dk/(.*)$ måske. Men test REFERER med php...

Men når du kan få fat i REQUEST_URI så er det jo ligemeget med ?billede=$1 :o)
Avatar billede sukos Juniormester
27. marts 2004 - 16:05 #10
æhh, jeg har faktisk noget bøvl med at få vist billedet, lige nu!
Og det er jo egentlig logisk nok, da enhver request til et billede jo "ender" i php filen. ?

Lige nu:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}  \.jpg$ [OR]
RewriteCond %{HTTP_REFERER} ^127.0.0.25/(.*)$
RewriteRule ^(.*)$  /dir/test.php?billede=$1
Avatar billede htm Nybegynder
27. marts 2004 - 16:07 #11
Tjek hvad referer mon indeholder.

Så kan du jo bruge $_GET['billede'] til at hente billedet?

Men hvad sker der / ikke sker ?
Avatar billede sukos Juniormester
27. marts 2004 - 16:08 #12
<?php
echo"<p>". $_SERVER["PHP_SELF"];
echo"<p>". $_SERVER["SCRIPT_NAME"];
if(isset($_GET["billede"])) {
echo"<p>". $_SERVER["REQUEST_URI"];
echo"<p><img scr=\"". $_SERVER["REQUEST_URI"] ."\">";
}

?>
Avatar billede htm Nybegynder
27. marts 2004 - 16:11 #13
Hvorfor er det du ikke bruge $_GE hele tiden ? Duer det ikke?

<?php
echo"<p>". $_SERVER["PHP_SELF"];
echo"<p>". $_SERVER["SCRIPT_NAME"];
if(isset($_GET["billede"])) {
echo"<p>". $_GET['billede'];
echo"<p><img scr=\"". $_GET['billede'] ."\">";
}

?>
Avatar billede sukos Juniormester
27. marts 2004 - 16:15 #14
nej, men der er jo blevet sagt at hver request til en jpg fil skal håndteres af en php fil.

Måske noget fread? (tror jeg)
Avatar billede htm Nybegynder
27. marts 2004 - 16:19 #15
fread vil virke da det vil være et internt request.

Og der er blevet sagt at ethvert request til en jpg fil skal sendes til den phpfil med mindre HTTP_REFERER matcher den der er sat ind.

Jeg tror mere på at den HTTP_REFERER er forkert. Kan du finde en præcis referer.
Lav et dokument og lav et link til et andet dokument og skriv http_referer ud.
Avatar billede sukos Juniormester
27. marts 2004 - 16:22 #16
ja, ok, jeg har bare skrevet linket direkte i browseren, altså uden nogen referer.
Avatar billede htm Nybegynder
27. marts 2004 - 16:25 #17
Når du viser billedet i din php fil får du vel en referer ? Altså din referer må være din php-fil når du requester billedet.
Avatar billede sukos Juniormester
27. marts 2004 - 16:27 #18
Nåh, det jeg vil:

På showsource.dk kan man som oprettet bruger uploade filer til et dir som matcher et spm. nr her på exp. Disse filer ligger på exp.showsource.dk
Og så er det jeg gerne ville have at man kan kommentere det enkelte billede for evt. yderligere forklaring.

Derfor behovet for at en PHP fil tager sig af REQUEST for at hente info fra DB.

Men jeg er lige nu et stykke af vejen, og lige nu gider jeg sgutte mere! :O)

Og mange tak for hjælpen!
Avatar billede htm Nybegynder
27. marts 2004 - 16:31 #19
:o) Ja tror det er lidt tricky - men man skal lige tjekke om man har http_referer. hvis ikke så skal man lave noget med eks GD eller fread for at få det vist.

Og velbekommen :o)
Avatar billede sukos Juniormester
29. marts 2004 - 12:21 #20
nåh, efter at ha' rodet med det, bliver løsningen indtil videre at lave et frameset, hvor øverste frame viser billedet, nederste viser teksten.
Str. på frameset bliver så sat alt efter det forespurgte billedes str.
Virker lidt omstændeligt, men jeg kan sgutte få den til både at vise et billede og tekst i samme fil! :O)
Avatar billede htm Nybegynder
29. marts 2004 - 19:10 #21
Jeg kan godt se nu at den rewrite ikke har været det bedste. Har lige lavet en der matcher bedre.

Min rewrite ser sådan ud:
---------------------------------------------------------------------
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://rewrite.munchi.dk
RewriteCond %{REQUEST_FILENAME}  \.(gif|jpg|bmp|png)$
RewriteRule ^(.*)$  /billede.php?billede=$1
---------------------------------------------------------------------

og min php-fil:
---------------------------------------------------------------------
<?php

if (isset($_GET['billede']))
    $billede = $_GET['billede'];
else
    $billede = "none.gif";
$url = "http://" . $_SERVER['HTTP_HOST'] . "/" . $billede;

?>
<img src="<?php echo $url; ?>">
<br>
<br>
Dette billede kan kun ses via denne PHP skabalon
---------------------------------------------------------------------

Du kan teste det her: http://rewrite.munchi.dk/ga040322.gif

Håber du kan bruge det og du finder det bedre emd dit eksisterende eksempel :o)
Avatar billede sukos Juniormester
30. marts 2004 - 07:19 #22
Du er altså en guttermand, htm!!!
(men linket virker ikke lige nu! (NS med apache proxy)
Avatar billede sukos Juniormester
30. marts 2004 - 07:20 #23
he, og fandt iøvrigt selv ud af at bruge andre filer end lige jpg :O)
Avatar billede htm Nybegynder
30. marts 2004 - 11:21 #24
Kanon det virker. :-)

Ja min server kan ikke nås lige nu... Teledanmark har lige pludselig ændret min DNS. så skal lige vente på DNS bliver opdateret.
Avatar billede sukos Juniormester
30. marts 2004 - 16:45 #25
æhh, jeg får ikke vist noget tekst med dit script!
Men jeg kan få det til at du med frames, og det ok, såmænd.
Avatar billede htm Nybegynder
30. marts 2004 - 17:43 #26
Hos mig er der tekst... ?

Jeg kommer ind hvor den viser billedet - og så den tekst nedenunder.

Får du ikke tekst med på mit eks. ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester