/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
inkludere billeder
Fra : Ole


Dato : 08-09-06 22:50

Hej

Jeg er newbie i php. Det er jo i mange henseender ret genialt.

Jeg har styr på at inkludere html-filer, sådan her:

<?php include("menu.html");?>

men jeg har et billede, top.jpg, jeg gerne vil gøre det samme med, men det
kan jeg ikke få til at fungere.

Har en af jer en lige så simpel løsning når det gælder billeder.

Det skal foregå i en celle i en tabel, men det har vel ikke nogen betydning?


Hilsen Ole



 
 
Erik Ginnerskov (08-09-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 08-09-06 23:03

Ole wrote:
> Jeg har styr på at inkludere html-filer, sådan her:
>
> <?php include("menu.html");?>
>
> men jeg har et billede, top.jpg, jeg gerne vil gøre det samme med,
> men det kan jeg ikke få til at fungere.

Hvad er der i vejen med img-tagget: <img src="top.jpg" width="xxx"
height="yyy" alt=""> ?

Ellers kan du med denne kode lægge tin top.jpg ind på en lille side, som du
inkluderer helt normalt.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk/



Ole (08-09-2006)
Kommentar
Fra : Ole


Dato : 08-09-06 23:19


"Erik Ginnerskov" <erik@donotspammeplease.invalid> skrev i en meddelelse
news:4501e88f$0$75032$14726298@news.sunsite.dk...
> Ole wrote:
>> Jeg har styr på at inkludere html-filer, sådan her:
>>
>> <?php include("menu.html");?>
>>
>> men jeg har et billede, top.jpg, jeg gerne vil gøre det samme med,
>> men det kan jeg ikke få til at fungere.
>
> Hvad er der i vejen med img-tagget: <img src="top.jpg" width="xxx"
> height="yyy" alt=""> ?
>
> Ellers kan du med denne kode lægge tin top.jpg ind på en lille side, som
> du inkluderer helt normalt.
>
> --
> Med venlig hilsen
> Erik Ginnerskov
> http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
> http://html-faq.dk/
>

Grunden til at jeg vil bruge include, er at det er et billede der måske skal
skiftes ud med mellemrum og at det er på 50 - 100 sider.

Jeg har forsøgt din metode med php, men det duede ikke, eller jeg har vel
lavet noget forkert.

Hm, så jeg må jo så prøve igen.

Ellers vender jeg tilbage - indtil da, takker.



dtext.tele.dk (09-09-2006)
Kommentar
Fra : dtext.tele.dk


Dato : 09-09-06 09:09

> Grunden til at jeg vil bruge include, er at det er et billede der måske
> skal skiftes ud med mellemrum og at det er på 50 - 100 sider.

Så laver du et html-dokument der kun indeholder billedet og inkluderer det
på dine sider.

Altså

<? include("billede.html") ?>

Indhold af billede.html:
<img src="billede.jpg" alt="Billede" />

- Daniel



Jesper Brunholm (09-09-2006)
Kommentar
Fra : Jesper Brunholm


Dato : 09-09-06 09:34

Ole skrev:
>>> Jeg har styr på at inkludere html-filer, sådan her:
>>>
>>> <?php include("menu.html");?>
>>>
>>> men jeg har et billede, top.jpg, jeg gerne vil gøre det samme med,
>>> men det kan jeg ikke få til at fungere.

[snip: brug <img> standard tag]

> Grunden til at jeg vil bruge include, er at det er et billede der måske skal
> skiftes ud med mellemrum og at det er på 50 - 100 sider.

Så læg en variabel ind, som ændres i en central configurationsfil som
includes. Hvis du ikke har en config-fil i sving så brug menu-filen. Fx:

I menu.html includefilen:

$bannerbillede='<img src="aktueltbill.jpg" widht="...osv ';

Der hvor billedet skal stå, sætter du
echo $bannerbillede;
ind.

Du kan selvfølgelig også komplicere sagen med en function, men
ovenstående skulle fungere

mvh

Jesper Brunholm

Leif Neland (21-01-2007)
Kommentar
Fra : Leif Neland


Dato : 21-01-07 18:13

> Grunden til at jeg vil bruge include, er at det er et billede der
> måske skal skiftes ud med mellemrum og at det er på 50 - 100 sider.
>
Du kunne jo også bare lade billedet hedde det samme, og lade indholdet
skifte.
Altså f.ex. topbillede.jpg, og så uploade et nyt topbillede.jpg efter behov.

Men det er selvfølgelig ikke databasestyret

Leif




Geert Lund (09-09-2006)
Kommentar
Fra : Geert Lund


Dato : 09-09-06 23:04

Ole wrote:

> men jeg har et billede, top.jpg, jeg gerne vil gøre det samme med, men det
> kan jeg ikke få til at fungere.
>
> Har en af jer en lige så simpel løsning når det gælder billeder.

Man kan ikke inkludere binære data på den måde i sit (x)HTML output og
det giver derfor ikke rigtig mening at udlæse et billede direkte fra
filen ud i dit (x)HTML - hvad enten du benytter PHP eller andet lignende
scriptsprog.

Hvis du vil inkludere et random antal billeder er der umiddelbart to
"simple" løsninger:

1) du har en liste over billed filerne liggende i et array i den fil
hvor du skal inkludere dit billede. Du udtrækker et random tal der
svarer til et random nummer mellem 0 og max antallet af indgange i dit
billed-array.

Herefter udlæser du det valgt navn til din kode:

$arrayPictures = (
'billede0.jpg',
'billede1.jpg',
'billede2.jpg'
);

mt_srand((double)microtime()*1000000); // seed for PHP < 4.2
$rand = mt_rand(0, count($arrayPictures));

echo "<img src=\"".$arrayPictures[$rand]."\" />";


2) kan det gøres mere avanceret - således at du enten udtrækker listen
fra en database eller fx direkte fra filsystemet og direkte genererer
din billedfil ud fra de læste data. Dette gøres i en seperat fil som du
ikke inkluderer via include() men inkluderer i din kode ved at benytte:

<img src="mit_php_billed_script.php" />

i stedet.

Det vigtige er så at mit_php_billed_script.php sætter de rigtige headers
inden du udlæser de binære data.

Et simpelt eksempel:

<?php

// Make this the relative path to the images, like "../img"
// or "random/images/".
// If the images are in the same directory, leave it blank.
$folder = 'random/images/';

// Space seperated list of extensions, you probably won't
// have to change this.
$exts = 'gif';

$files = array();
if ('' == $folder) $folder = './';
$handle = opendir($folder);
$exts = explode(' ', $exts);
while (false !== ($file = readdir($handle))) {
foreach($exts as $ext) { // for each extension check the extension
if (preg_match('/\.'.$ext.'$/i', $file, $test)) { // faster
than ereg, case insensitive
$files[] = $file; // it's good
}
}
}
closedir($handle); // We're not using it anymore

mt_srand((double)microtime()*1000000); // seed for PHP < 4.2
$rand = mt_rand(0, count($files);

//// Internal functions:
function load_jpeg($imgname) {
$im = @imagecreatefromgif($imgname); /* Attempt to open */
if (!$im) { /* See if it failed */
$im = imagecreate(135, 135); /* Create
a blank image */
$bgc = imagecolorallocate($im, 255,
255, 255);
$tc = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 135,
135, $bgc);
/* Output an errmsg */
imagestring($im, 1, 5, 5, "Error
loading $imgname", $tc);
}
return $im;
}


//// Output the picture
$image = load_jpeg( $folder.$files[$rand] );
header("Content-type: image/gif");
imagegif($image);

?>


Ovenstående kode er meget simpel kode der er genereret ud fra et par
læsninger i PHP online manualen og leverer fx et fuldt fungerende random
script til læsning af gif filer fra et dir.

At udvide ovenstående til enten at læse fra en database eller at
understøtte andre filer end gif er dog ikke så svært.

--
Med venlig hilsen
Geert Lund,
www.GLD.dk

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste