/ 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
Lave en http-request
Fra : Mikkel Z. Herold


Dato : 20-02-06 12:35

På min side inkluderer jeg et billede, der genereres via et php-script,
dvs. stien til billedet hedder noget i stil med
http://www.server.com/image.php

Nu har jeg så brug for at få navnet på den billedfil, som scriptet
returnerer, men hvordan gør jeg det?

Hvis jeg paster billedstien ind i min browser, viser den billedet (og
adresselinjen ændrer sig til stien på billedfilen), så jeg skal på en
eller anden måde efterligne den operation, altså lave en http-request og
læse det returnerede.

Nogen forslag?

Mikkel

--
"At first just a rustle of canvas
And the gentlest breath on my face
But a galloping line of white horses
Said that soon we were in for a race"
Sting - The Wild Wild Sea

http://www.mzh.dk

 
 
Bertel Lund Hansen (20-02-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 20-02-06 12:43

Mikkel Z. Herold skrev:

> På min side inkluderer jeg et billede, der genereres via et
> php-script, dvs. stien til billedet hedder noget i stil med
> http://www.server.com/image.php

Det ligger vel i en variabel? Lad os kalde den $billedfil.

> Nu har jeg så brug for at få navnet på den billedfil, som
> scriptet returnerer, men hvordan gør jeg det?

echo "<a href='$billedfil' alt='Min lille vovse'>";

Hvis billedet ligger på en anden server (i billedmappe) end den
som PHP'en ligger på, må du skrive:

echo "<a href='http://andenserver.dk/billedmappe/$billedfil' alt='Min lille vovse'>";

PS. Det er bedst hvis du også kan sætte width og height på billedet.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Mikkel Z. Herold (20-02-2006)
Kommentar
Fra : Mikkel Z. Herold


Dato : 20-02-06 12:48

On 20-02-2006 12:42 Bertel Lund Hansen wrote:
> Det ligger vel i en variabel? Lad os kalde den $billedfil.

Det kan vi godt.

> echo "<a href='$billedfil' alt='Min lille vovse'>";

Det er bare ikke det, jeg skal bruge det til; jeg skal selvfølgelig have
vist billedet med <img src="$billedfil">, men forinden vil jeg gerne
have fat i navnet på det billede der vises - jeg skal nemlig generere en
alt-tekst ud fra filnavnet.

> PS. Det er bedst hvis du også kan sætte width og height på billedet.

Ja, det ved jeg, men hvis jeg kan få navnet på billedfilen, så kan jeg
bruge getimagesize() til det.

Mikkel

--
"At first just a rustle of canvas
And the gentlest breath on my face
But a galloping line of white horses
Said that soon we were in for a race"
Sting - The Wild Wild Sea

http://www.mzh.dk

Bertel Lund Hansen (20-02-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 20-02-06 13:38

Mikkel Z. Herold skrev:

>> echo "<a href='$billedfil' alt='Min lille vovse'>";

> Det er bare ikke det, jeg skal bruge det til; jeg skal selvfølgelig have
> vist billedet med <img src="$billedfil">, men forinden vil jeg gerne
> have fat i navnet på det billede der vises - jeg skal nemlig generere en
> alt-tekst ud fra filnavnet.

Her er alt-teksten bare filnavnet:

echo "<img src='$billedfil' alt='$billedfil'>";

Hvis du har knyttet et array med kommentarer sammen med
filnavnet, kunne det se sådan ud:

echo "<img src='$billedfil' alt='".$kommentar[$billedfil]."'>";

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Mikkel Z. Herold (20-02-2006)
Kommentar
Fra : Mikkel Z. Herold


Dato : 20-02-06 13:47

On 20-02-2006 13:38 Bertel Lund Hansen wrote:
> echo "<img src='$billedfil' alt='".$kommentar[$billedfil]."'>";

Ah, så forstår jeg hvad du mente. Det er ikke mit eget script, så jeg
ved ikke, hvad variablen hedder i scriptet, så det går desværre ikke
umiddelbart.

Helt konkret, så skal jeg bruge det billede, der kommer fra adressen
http://www.bencastricum.nl/msn/status.php/d4a09183-95a6-4fb5-a65f-804a58d2f25a.png
- hvis man sætter den URL ind i en browser viser den billedet
http://www.bencastricum.nl/msn/pics/s_nln.png (hvis jeg er online), og
det er dette "s_nln.png" jeg er ude efter at få fat i via PHP.

Andre idéer?

Mvh. Mikkel

--
"At first just a rustle of canvas
And the gentlest breath on my face
But a galloping line of white horses
Said that soon we were in for a race"
Sting - The Wild Wild Sea

http://www.mzh.dk

Thomas Skou (20-02-2006)
Kommentar
Fra : Thomas Skou


Dato : 20-02-06 14:57


> Helt konkret, så skal jeg bruge det billede, der kommer fra adressen
> http://www.bencastricum.nl/msn/status.php/d4a09183-95a6-4fb5-a65f-804a58d2f25a.png
> - hvis man sætter den URL ind i en browser viser den billedet
> http://www.bencastricum.nl/msn/pics/s_nln.png (hvis jeg er online), og
> det er dette "s_nln.png" jeg er ude efter at få fat i via PHP.
>
> Andre idéer?

Der bliver sendt en http location header fra serveren, som videresender
dig til det billede du er ude efter. Så ved at undersøge indholdet af
"Location" har du svaret:

$url =
"http://www.bencastricum.nl/msn/status.php/d4a09183-95a6-4fb5-a65f-804a58d2f25a.png";
$headers = get_headers($url, 1);
$nyt_billede = $headers["Location"];

// $nyt_billede indeholder: http://www.bencastricum.nl/msn/pics/s_nln.png


/Thomas

Mikkel Z. Herold (20-02-2006)
Kommentar
Fra : Mikkel Z. Herold


Dato : 20-02-06 16:28

On 20-02-2006 14:57 Thomas Skou wrote:
> $headers = get_headers($url, 1);

Smart! Jeg har godt nok kun PHP4 til rådighed, men med emuleringen fra
koden den postet den 15. juli 2005 på http://dk2.php.net/get_headers
virker det med

$headers = get_headers($url);

og så

$billed_sti = str_replace("Location: ", "", $headers[4]);

Resultatet kan ses på www.mzh.dk (højre kolonne).

Mikkel

--
"At first just a rustle of canvas
And the gentlest breath on my face
But a galloping line of white horses
Said that soon we were in for a race"
Sting - The Wild Wild Sea

http://www.mzh.dk

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

Månedens bedste
Årets bedste
Sidste års bedste